[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/asn/rr/include/csn_common.h b/mcu/protocol/interface/asn/rr/include/csn_common.h
new file mode 100644
index 0000000..9df091f
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/csn_common.h
@@ -0,0 +1,328 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2007
+*  
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+* Filename:
+* ---------
+*	csn_common.h  : header file
+*
+* Project:
+* --------
+*  csn.1 common ------ CSN.1 common file
+*
+* Description:
+* ------------
+*  This file defines the data structures for csn common functions
+*  If user want to modify the file, please discuss with the owner
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+
+#ifndef _CSN_COMMON_H_
+#define _CSN_COMMON_H_
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+ 
+//#include <string.h> 
+//#include <stdlib.h> 
+//#include <setjmp.h>
+
+#include "mtkcsn_global.h"
+#include "error_struct_enum.h"
+
+/*Evelyn: Remove redundant header and file */
+#include "asn1lib.h"
+#include "as_common.h"
+
+#ifdef _CSN_TEST_
+  #include <time.h>
+  #include <stdarg.h>
+  #include <stdio.h>
+  #include <assert.h>
+  #define DSVALUEINFO ".\\dsvalueinfo.txt"
+  #define DLLEXPORT __declspec( dllexport ) 
+
+  //#define _CSN_RANDOM_TEST_  //for random encode test //this was removed to "csn_macro_define.h"
+ 
+#else
+  #define DLLEXPORT
+
+#ifdef _CSN_DEBUG_ON_TARGET_
+  TRC_MSG(CSN_WARNING_INFO, "[CSN] trace: %s %d.")
+#endif
+
+#endif 
+
+#ifdef _CSN_TEST_
+typedef enum
+{
+	ABSENT=0,
+	PRESENT
+}ispresent;  
+#endif
+ 
+typedef enum
+{
+	SINGLE_L=0,
+	SINGLE_H
+}isLHpresent;
+  
+#ifdef _CSN_TEST_
+//follow is for error struct
+typedef struct AsnListNode
+{
+    struct AsnListNode	*prev;
+    struct AsnListNode	*next;
+    void		*data;		 
+}AsnListNode; 
+
+typedef struct AsnList
+{
+    AsnListNode		*first;
+    AsnListNode		*last;
+    AsnListNode		*curr;
+    int			count;	 
+    int			dataSize;	 
+}AsnList; 
+
+typedef enum ErrorDetail {
+    SPARE_ERROR,
+    OUT_OF_RANGE_ERROR,
+    IGNORE_FUNCTION
+} ErrorDetail; 
+#endif
+
+typedef struct CSN_ErrorStruct {
+    CSN_ErrorType    error_type; //here is different from ErrorStruct
+    asn_error_detail  error_flag;
+    int          structNameEnum;
+    asn_list      cond_errors;  
+    int          comp_req;
+//    int   errorlineno;
+//    S8  errorfile[1024];
+}CSN_ErrorStruct;
+ 
+
+#ifndef NOT_USED
+#define NOT_USED(x) (void)(x)
+#endif
+ 
+#ifndef UA1_ERROR_1   
+#define UA1_ERROR_1() CsnError1(pContext, (S8 *)__FILE__, __LINE__) 
+#endif 
+ 
+#define	INFINIT_EXPONENT_INIT_SIZE 2  //initial allocate memory size
+#define INFINIT_EXPONENT_INC_SIZE  2  //increase size for every time
+ 
+#define MAX_TOLERABLE_MEM_BLOCK_NUM       20         //should greater than 4
+#define MAX_TOLERABLE_MEM_BLOCK_INC_SIZE  (5*4)  //multiple of 4 bytes
+
+#define MAX_U32 0xffffffff
+
+typedef struct
+{ 
+	S8 * name; //label
+	U8 * value;
+	U32 length;    
+}FunctionInfoNode;
+ 
+typedef struct
+{
+	FunctionInfoNode fin;
+    struct FunctionInfoList *ppNext;
+}FunctionInfoList;
+ 
+typedef struct
+{
+   void *pMemBlock[MAX_TOLERABLE_MEM_BLOCK_NUM];
+   void **ppNext;
+   void **ppEnd;  
+}CsnAllocRecord;
+
+/*
+typedef struct
+{
+	jmp_buf env;
+    struct JmpBufList *ppNext;  
+}JmpBufList;
+*/
+ 
+#ifdef _CSN_TEST_ 
+  #include <setjmp.h>
+  #define csn_jmpbuf jmp_buf  
+#else 
+  #if defined(__MTK_TARGET__) && defined(__RVCT__)
+    typedef long long csn_jmpbuf[17];
+  #elif defined(__MTK_TARGET__)
+  #include <setjmp.h>
+  #define csn_jmpbuf jmp_buf  
+  #else
+    
+    ///add for vc9.0 
+    //vc 9.0 have un-standard code , cgen could not pass the parse
+    // GEN_FOR_PC: just defined when codegen_modis
+    #ifndef GEN_FOR_PC 
+      #include <setjmp.h>
+    #else
+      #define _JBLEN 16
+      #define _JBTYPE int
+      typedef _JBTYPE jmp_buf[_JBLEN];
+    #endif  
+    ///
+    #define csn_jmpbuf jmp_buf      
+
+  #endif 
+#endif 
+  
+
+typedef struct
+{ 
+   U8 *pEncoded;
+   U8 *pEncodedEnd;
+   U32 limitBitLength; //for user defined buffer bit length 
+   csn_jmpbuf env;
+   void *encodeAlloc; 
+   CsnAllocRecord *decodeAlloc; 
+   FunctionInfoList *fil;  // for csn function 
+}CsnContext;
+   
+ 
+typedef U32 (*FP_EN)(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext);
+typedef U32 (*FP_DE)(void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext);
+#define TEST_CASE_NUM 10000
+
+#ifdef _CSN_TEST_
+
+U32 csn_act_mask(U32 width);
+U32 get_bits(U8 *frame, U32 offset, U32 width);
+U32 get_bits_1_8(U8 *addr, U32 offset, U32 width);
+U32 get_bits_9_16(U8 *addr, U32 offset, U32 width);
+U32 get_bits_17_24(U8 *addr, U32 offset, U32 width);
+U32 get_bits_25_32(U8 *addr, U32 offset, U32 width);
+
+void put_bits_25_32(U8 *addr, U32 bitoffset, U32 bitlength, U32 data);
+void put_bits_17_24(U8 *addr, U32 bitoffset, U32 bitlength, U32 data);
+void put_bits_9_16(U8 *addr, U32 bitoffset, U32 bitlength, U32 data);
+void put_bits_1_8(U8 *addr, U32 bitoffset, U32 bitlength, U32 data);
+void put_bits(U8 *addr, U32 bitoffset, U32 bitlength, U32 data);
+
+#endif
+U16 get_16bits_L_endian_2_B_endian(U8 *addr, U32 offset);
+
+extern void update_addr_n_offset(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+
+extern void put_bits_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width, kal_uint32 put_val);
+extern void put_bits_1_8_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width, kal_uint32 put_val);
+extern void put_bits_9_16_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width, kal_uint32 put_val);
+extern void put_bits_17_24_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width, kal_uint32 put_val);
+extern void put_bits_25_32_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width, kal_uint32 put_val);
+
+extern kal_uint32 get_bits_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+extern kal_uint32 get_bits_1_8_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+extern kal_uint32 get_bits_9_16_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+extern kal_uint32 get_bits_17_24_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+extern kal_uint32 get_bits_25_32_slim(kal_uint8 **addr, kal_uint32 *offset_ptr, kal_uint32 width);
+
+U32 get_spare_bits(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, void *err_hndl, CsnContext *pContext);
+U32 get_spare_padding(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, void *err_hndl, CsnContext *pContext);
+U32 get_padding_bits(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, void *err_hndl, CsnContext *pContext);
+
+
+DLLEXPORT void CsnRootDecodeFree( void *pType); 
+DLLEXPORT void CsnRootDecodeAlloc( void **ppType, U32 size ); 
+DLLEXPORT void CsnDecodeAlloc( CsnContext *pContext, void **ppMem, U32 size ); 
+DLLEXPORT void CsnDecodeFree( CsnAllocRecord *decodeAlloc);
+
+void ** CsnFindInMemList(CsnContext *pContext, void **ppMem);
+void CsnDeleteMemMarkFromList(CsnContext *pContext, void ** ppMem );
+void CsnDecodeReAlloc( CsnContext *pContext, void **ppMem, U32 newsize, U32 oldsize);
+void CsnRootEncodeAutoAlloc(CsnContext *pContext); //
+void CsnRootEncodeAutoFree (CsnContext *pContext); //
+void CsnBitFieldCopy(U8 * new_frame, U32 new_bit_offset, U8 * old_frame, U32 bit_offset,U32 copylength);
+
+ 
+void csn_init_ErrorStruct(void * err_hndl);
+void csn_set_ErrorStruct(void * err_hndl, enum_error_struct_type errorstructname,CSN_ErrorType errortype);
+void csn_set_ErrorStruct1(CsnContext * pContext, void * err_hndl, enum_error_struct_type errorstructname,CSN_ErrorType errortype);
+
+void clear_csn_function_from_list(S8 * name, CsnContext * pContext);   
+void add_to_csn_function_list(S8 * name, U8 * value, U32 length, CsnContext * pContext);   
+//Bool special_function_handle(S8 * name, U8 * value, U32 length, CsnContext * pContext);
+//void special_deal_with_reserve_max_value(S8 * name, U8 * value, U32 length, CsnContext * pContext);
+
+void CsnError1( CsnContext *pContext, S8 * file, U32 line );
+
+void csn_initFifo( CsnContext *pContext, U8 *buffer, U32 bufferByteLength );  
+void csn_getLongBits(U8 * frame, U32 bits, U32 bitoffset, U8 *outputBuffer, U32 numBits);
+void csn_putLongBits(U8 * frame, U32 bits, U32 bitoffset, U8 *data, U32 numBits );
+  
+//for match L\H string or encode L\H string 
+U8  match_LH(CsnContext *pContext, U32 bitoffset, U8 value, S8 * pLHString);
+void put_LH(CsnContext *pContext, U8 *frame, U32 bit_offset, S8 * pLHString);
+
+
+U32 put_spare_bits(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, CsnContext *pContext);
+U32 put_spare_padding(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, CsnContext *pContext);
+U32 put_padding_bits(U8 *frame, U32 bit_offset, U32 numBits, U32 frame_size, CsnContext *pContext);
+ 
+///user defined functions // mapping to csn.1 functions
+U32 val(S8 * label, CsnContext * pContext);
+U32 len(S8 * label, CsnContext * pContext);
+//U32 fdd_cell_info_p(S8 * label, CsnContext * pContext);
+//U32 tdd_cell_info_q(S8 * label, CsnContext * pContext);
+//U32 max_val(S8 * label, CsnContext * pContext);
+
+//U32 n(S8 * label, CsnContext * pContext);
+//U32 m(S8 * label, CsnContext * pContext);
+
+///for test  
+#ifdef _CSN_TEST_
+int OutputDSValueInfo(const S8 *ptext, ...);
+int OutputTestInfo(const S8 *ptext, ...); 
+int csn_rand_u32(void); 
+void csn_rand_buffer(U8 * pBuffer, U32 numBits);
+#endif
+///
+
+ 
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _CSN_COMMON_H */
diff --git a/mcu/protocol/interface/asn/rr/include/csn_memory.h b/mcu/protocol/interface/asn/rr/include/csn_memory.h
new file mode 100644
index 0000000..b77c751
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/csn_memory.h
@@ -0,0 +1,76 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2007
+* 
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTAB ILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+* Filename:
+* ---------
+*	csn_memory.h  : header file
+*
+* Project:
+* --------
+*  csn.1 common ------ CSN.1 common file
+*
+* Description:
+* ------------
+*  This file defines the data structure for csn memory functions
+*  If user want to modify the file, please discuss with the owner
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+#if !defined 	_CSN_MEMORY_H_
+#define 	_CSN_MEMORY_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//#include "app_buff_alloc.h"
+#include "mtkcsn_global.h"
+ 
+
+extern  void   csnMemFree(void ** ppBuffer);
+extern  void * csnMemAlloc(void ** ppBuffer, unsigned long size);
+extern  void * csnMemReAlloc(void ** ppBuffer, unsigned long newsize, unsigned long oldsize); 
+ 
+extern  void * csnMemCopy(void * pDest, const void * pSource, U32 uLen);
+extern  S32   csnMemCmp(void *p1, void *p2, U32 uLen);
+extern  void * csnMemSet(void *p, U32 value, U32 uLen);
+
+#ifdef __cplusplus
+}
+#endif
+#endif //	_CSN_MEMORY_H_
diff --git a/mcu/protocol/interface/asn/rr/include/csn_special.h b/mcu/protocol/interface/asn/rr/include/csn_special.h
new file mode 100644
index 0000000..7442389
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/csn_special.h
@@ -0,0 +1,90 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2007
+*  
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+* Filename:
+* ---------
+*	csn_special.h  : header file
+*
+* Project:
+* --------
+*  csn.1 common ------ CSN.1 common file
+*
+* Description:
+* ------------
+*  This file defines the special support for csn spec
+*  If user want to modify the file, please discuss with the owner
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+
+#ifndef _CSN_SPECIAL_H_
+#define _CSN_SPECIAL_H_
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+  
+#include "mtkcsn_global.h"
+#include "csn_memory.h" 
+#include "csn_common.h"
+  
+ 
+Bool special_function_handle(S8 * name, U8 * value, U32 length, CsnContext * pContext);
+void special_deal_with_reserve_max_value(S8 * name, U8 * value, U32 length, CsnContext * pContext);
+  
+///user defined functions // mapping to csn.1 functions
+ 
+U32 fdd_cell_info_p(S8 * label, CsnContext * pContext);
+U32 tdd_cell_info_q(S8 * label, CsnContext * pContext);
+U32 max_val(S8 * label, CsnContext * pContext);
+
+U32 n_r6(S8 * label, CsnContext * pContext);
+U32 m_r6(S8 * label, CsnContext * pContext);
+ 
+U32 n_r7_2_1(S8 * label, CsnContext * pContext);
+U32 n_r7_2_2(S8 * label, CsnContext * pContext);
+U32 n_r7_3(S8 * label, CsnContext * pContext);
+U32 m_r7_2_1(S8 * label, CsnContext * pContext);
+U32 m_r7_2_2(S8 * label, CsnContext * pContext);
+U32 m_r7_3(S8 * label, CsnContext * pContext);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _CSN_SPECIAL_H_ */
diff --git a/mcu/protocol/interface/asn/rr/include/error_struct_enum.h b/mcu/protocol/interface/asn/rr/include/error_struct_enum.h
new file mode 100644
index 0000000..954b44f
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/error_struct_enum.h
@@ -0,0 +1,334 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_struct_enum.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _ERROR_STRUCT_ENUM_H_
+#define _ERROR_STRUCT_ENUM_H_
+
+typedef enum {
+RR_NO_ERROR_STRUCT = 0,
+RR_PACKET_DOWNLINK_STRUCT_ERROR ,
+PDCH_DYNAMIC_ALLOC_STRUCT_ERROR,
+PDCH_SINGLE_BLK_ALLOC_STRUCT_ERROR,
+PDCH_FIXED_ALLOC_STRUCT_ERROR,
+RR_PACKET_UPLINK_STRUCT_ERROR,
+RMC_START_TIME_STRUCT_ERROR,
+STARTING_TIME_ERROR,
+RMC_P0_PWR_CNTRL_MODE_STRUCT_ERROR,
+RMC_SINGLE_BLOCK_ALLOC_STRUCT_ERROR,
+RMC_P0_PR_MODE_STRUCT_ERROR,
+RMC_DYN_ALLOC_STRUCT_ERROR,
+RMC_FIXED_ALLOC_STRUCT_ERROR,
+RMC_DYN_OR_FIXED_ALLOC_STRUCT_ERROR,
+RMC_PKT_UL_ASGN_STRUCT_ERROR,
+RMC_ACCESS_TECH_REQ_ELEM_STRUCT_ERROR,
+RMC_ACCESS_TECH_REQ_STRUCT_ERROR,
+RMC_MULTI_BLK_ALLOC_STRUCT_ERROR,
+RMC_EGPRS_MOD_AND_CODING_STRUCT_ERROR,
+RMC_EGPRS_WINDOW_SIZE_STRUCT_ERROR,
+RMC_EGPRS_DYN_OR_FIXED_ALLOC_STRUCT_ERROR,
+RMC_EGPRS_PKT_UL_ASGN_STRUCT_ERROR,
+RMC_FREQ_PARAMS_WITH_LENGTH_STRUCT_ERROR,
+RMC_RLC_MODE_ALPHA_GAMMA_STRUCT_ERROR,
+RMC_EGPRS_TBF_MODE_STRUCT_ERROR,
+RMC_PKT_DL_ASGN_STRUCT_ERROR,
+IAREST_OCTETS_ERROR,
+
+PERSIST_LEVEL_STRUCT_ERROR,
+GLOBAL_TFISTRUCT_ERROR,
+TIMING_ADV_IDX_TSLOT_STRUCT_ERROR,
+PKT_TIMING_ADVANCE_STRUCT_ERROR,
+CHNG_MARK1STRUCT_ERROR,
+INDIRECT_ENCODE_STRUCT_ERROR,
+DIRECT_ENCODE1STRUCT_ERROR,
+FREQ_PARAMS_PEER_STRUCT_ERROR,
+STARTING_FRAME_NUM_STRUCT_ERROR,
+PKT_REQ_REF_STRUCT_ERROR,
+USF_STRUCT_ERROR,
+TIME_SLOT_ALLOC_STRUCT_ERROR,
+USF_GAMMA_STRUCT_ERROR,
+RR_USF_PWR_CTRL_STRUCT_ERROR,
+TIME_SLOT_PWR_CTRL_ALLOC_STRUCT_ERROR,
+P0PR_MODE_STRUCT_ERROR,
+DYNAMIC_ALLOC_STRUCT_ERROR,
+ALPHA_GAMMA_STRUCT_ERROR,
+BTS_MODE_STRUCT_ERROR,
+SINGLE_BLK_ALLOC_STRUCT_ERROR,
+GAMMA_TN_VALUE_STRUCT_ERROR,
+PWR_CTRL_PARAMS_PEER_STRUCT_ERROR,
+FIXED_ALLOC_STRUCT_ERROR,
+EXTEND_TIMING_ADV_STRUCT_ERROR,
+GPRSUPLNK_ASSIGN_STRUCT_ERROR,
+PKT_UPLINK_ASSIGNMENT_MSG_ERROR,
+MEAS_MAP_PEER_STRUCT_ERROR,
+PKT_DOWNLINK_ASSIGN_ERROR,
+WAIT_STRUCT_ERROR,
+REJECT_STRUCT_ERROR,
+PACKET_ACCESS_REJECT_ERROR,
+PACKET_QUEING_NOTIFICATION_ERROR,
+ALLOC_BITMAP_STRUCT_ERROR,
+ALLOC_STRUCT_ERROR, 
+ACK_NACK_FIXED_ALLOC_STRUCT_ERROR,
+GPRSUPLNK_ACK_NACK_STRUCT_ERROR,
+PKT_UPLINK_ACK_NACK_ERROR,
+TIMING_ADV_INDEX_TN_STRUCT_ERROR,
+GLOBAL_PKT_TIM_ADV_STRUCT_ERROR,
+GLOBAL_PWR_CTRL_PARAMS_STRUCT_ERROR,
+GLOBAL_PWR_CTRL_PKT_TIM_STRUCT_ERROR,
+PKT_PWR_CTRL_TIM_ADV_STRUCT_ERROR,
+TS_RECONFIG_DYNAMIC_ALLOC_STRUCT_ERROR,
+TS_RECONFIG_FIXED_ALLOC_STRUCT_ERROR,
+GPRS_TIMESLOT_RECONFIG_ERROR,
+PKT_TIMESLOT_RECONFIGURE_ERROR,
+PACKET_POLLING_REQUEST_ERROR,
+HEADER_STRUCT_ERROR,
+EXTENSION_BIT_STRUCT_ERROR,
+REL_5_LATER_PDAS_STRUCT_ERROR,
+REL_5_LATER_PUAS_STRUCT_ERROR,
+REL_5_LATER_PTR_STRUCT_ERROR,
+REL_6_PDAS_STRUCT_ERROR,
+REL_6_PUAS_STRUCT_ERROR,
+REL_6_PTR_STRUCT_ERROR,
+ACK_NACK_DESC_STRUCT_ERROR,
+
+// Evelyn: Merge CSN generated Error_struct_enum
+DYNAMIC_ALLOCATION_2_STRUCT_ERROR,
+ASSIGNMENT_INFO_STRUCT_ERROR,
+ENHANCED_MEASUREMENT_REPORT_STRUCT_ERROR,
+EXTENDED_MEASUREMENT_REPORT_STRUCT_ERROR,
+GPRS_SUSPENSION_REQUEST_STRUCT_ERROR,
+HANDOVER_FAILURE_STRUCT_ERROR,
+ASSIGNMENT_FAILURE_STRUCT_ERROR,
+ASSIGNMENT_COMPLETE_STRUCT_ERROR,
+UPLINK_ASSIGNMENT_2_STRUCT_ERROR,
+BTTI_MULTIPLE_DOWNLINK_ASSIGNMENT_STRUCT_ERROR,
+RTTI_MULTIPLE_DOWNLINK_ASSIGNMENT_SC_STRUCT_ERROR,
+RTTI_MULTIPLE_DOWNLINK_ASSIGNMENT_DC_STRUCT_ERROR,
+MULTIPLE_UPLINK_ASSIGNMENT_2_STRUCT_ERROR,
+PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_ERROR,
+PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_ERROR,
+PACKET_CONTROL_ACKNOWLEDGEMENT_11_BIT_MESSAGE_ERROR,
+PACKET_CONTROL_ACKNOWLEDGEMENT_8_BIT_MESSAGE_ERROR,
+PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_ERROR,
+PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_ERROR,
+PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_ERROR,
+PACKET_UPLINK_DUMMY_CONTROL_BLOCK_MESSAGE_CONTENT_ERROR,
+PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_ERROR,
+PACKET_MOBILE_TBF_STATUS_MESSAGE_CONTENT_ERROR,
+PACKET_PSI_STATUS_MESSAGE_CONTENT_ERROR,
+PACKET_SI_STATUS_MESSAGE_CONTENT_ERROR,
+PACKET_PAUSE_MESSAGE_CONTENT_ERROR,
+ADDITIONAL_MS_RADIO_ACCESS_CAPABILITIES_MESSAGE_CONTENT_ERROR,
+MS_NETWORK_CAPABILITY_VALUE_PART_ERROR,
+P_3_G_NEIGHBOUR_CELL_DESCRIPTION_STRUCT_MI_ERROR,
+HANDOVER_COMPLETE_MESG_STRUCT_ERROR,
+PAGING_RESPONSE_ERROR,
+CSN_PAGING_REQUEST_TYPE1_ERROR,
+PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_ERROR,
+PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_ERROR,
+MEASUREMENT_INFORMATION_STRUCT_ERROR,
+MEASUREMENT_REPORT_STRUCT_ERROR,
+PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_ERROR,
+PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_ERROR,
+PACKET_TBF_RELEASE_MESSAGE_CONTENT_ERROR,
+PSI16_MESSAGE_CONTENT_ERROR,
+PSI15_MESSAGE_CONTENT_ERROR,
+PSI14_MESSAGE_CONTENT_ERROR,
+PSI13_MESSAGE_CONTENT_ERROR,
+PSI8_MESSAGE_CONTENT_ERROR,
+PSI7_MESSAGE_CONTENT_ERROR,
+PSI6_MESSAGE_CONTENT_ERROR,
+PSI4_MESSAGE_CONTENT_ERROR,
+PSI3_QUATER_MESSAGE_CONTENT_ERROR,
+PSI3_TER_MESSAGE_CONTENT_ERROR,
+PSI3_BIS_MESSAGE_CONTENT_ERROR,
+PSI3_MESSAGE_CONTENT_ERROR,
+PSI1_MESSAGE_CONTENT_ERROR,
+PACKET_SERVING_CELL_DATA_MESSAGE_CONTENT_ERROR,
+PACKET_QUEUEING_NOTIFICATION_MESSAGE_CONTENT_ERROR,
+PACKET_PRACH_PARAMETERS_MESSAGE_CONTENT_ERROR,
+PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_ERROR,
+PACKET_POLLING_REQUEST_MESSAGE_CONTENT_ERROR,
+PACKET_PDCH_RELEASE_MESSAGE_CONTENT_ERROR,
+PACKET_PAGING_REQUEST_MESSAGE_CONTENT_ERROR,
+PACKET_NEIGHBOUR_CELL_DATA_MESSAGE_CONTENT_ERROR,
+PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK_MESSAGE_CONTENT_ERROR,
+PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_ERROR,
+PACKET_CELL_CHANGE_CONTINUE_MESSAGE_CONTENT_ERROR,
+PACKET_ACCESS_REJECT_MESSAGE_CONTENT_ERROR,
+PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_ERROR,
+MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_ERROR,
+MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_ERROR,
+PS_HANDOVER_COMMAND_MESSAGE_CONTENT_ERROR,
+MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_ERROR,
+PS_HANDOVER_RADIO_RESOURCES_2_IE_ERROR,
+EGPRS_PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_ERROR,
+MS_RA_CAPABILITY_VALUE_PART_STRUCT_ERROR,
+PSI5_MESSAGE_CONTENT_ERROR,
+PSI2_MESSAGE_CONTENT_ERROR,
+PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_ERROR,
+PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_ERROR,
+CHANNEL_RELEASE_STRUCT_ERROR,
+RR_PEER_CLASSMARK_CHANGE_STRUCT_ERROR,
+PAGING_REQUEST_TYPE1_STRUCT_ERROR,
+PAGING_REQUEST_TYPE2_STRUCT_ERROR,
+PAGING_REQUEST_TYPE3_STRUCT_ERROR,
+MEASUREMENT_INFORMATION_ERROR,
+SI_2TER_STRUCT_ERROR,
+SI_2QUATER_STRUCT_ERROR,
+RR_EM_CELL_SELECT_PARA_INFO_STRUCT_ERROR,
+RR_EM_CHANNEL_DESCR_INFO_STRUCT_ERROR,
+RR_EM_CTRL_CHANNEL_DESCR_INFO_STRUCT_ERROR,
+RR_EM_RACH_CTRL_PARA_INFO_STRUCT_ERROR,
+RR_EM_RADIO_LINK_COUNTER_INFO_STRUCT_ERROR,
+RR_EM_CA_LIST_INFO_STRUCT_ERROR,
+RR_EM_CONTROL_MSG_INFO_STRUCT_ERROR,
+RR_EM_SI2Q_INFO_STRUCT_ERROR,
+RR_EM_MI_INFO_STRUCT_ERROR,
+RR_EM_MEASUREMENT_REPORT_INFO_STRUCT_ERROR,
+ENUM_ERROR_STRUCT_TYPE_END
+}enum_error_struct_type;
+
+typedef enum {
+CSN_NOT_ERROR=0,
+CSN_UNRECOVERABLE_ERROR,
+CSN_ERRORTYPE_END
+}CSN_ErrorType;
+
+#endif /* _ERROR_STRUCT_ENUM_H */
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_mtbf.h b/mcu/protocol/interface/asn/rr/include/gprs_mtbf.h
new file mode 100644
index 0000000..48ab961
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_mtbf.h
@@ -0,0 +1,53 @@
+/**************************************************************************
+ *                                                                        *
+ *  Copyright (c) 2001 Sasken Communication Technologies Limited (SASKEN) *
+ *  All Rights Reserved.                                                  *
+ *                                                                        *
+ *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SASKEN                 *
+ *  The above copyright notice does not evidence any actual or intended   *
+ *  publication of such source code.                                      *
+ *                                                                        *
+ **************************************************************************
+ *
+ *  FILE NAME:
+ *  SYNOPSIS :
+ *
+ */
+ 
+/* Evelyn 20090415: Merge R6 */
+
+#ifndef _GPRS_MTBF_H_
+#define _GPRS_MTBF_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#include "kal_public_api.h" //MSBB change #include "kal_release.h"
+#endif
+#include "nstd_alloc_bitmap.h"
+
+
+#include "nstd_pmo.h"
+#include "gprs_rlcmac_common.h"
+#include "gprs_rlcmac_dl.h"
+#include "gprs_rlcmac_ul.h"
+
+#include "gprs_mtbf_struct.h"
+#include "gprs_mtbf_pun.h"
+#include "error_struct_enum.h"
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_gprs_mtbf.h"
+#include "get_gprs_mtbf.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_mtbf_pun.h b/mcu/protocol/interface/asn/rr/include/gprs_mtbf_pun.h
new file mode 100644
index 0000000..7ed062c
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_mtbf_pun.h
@@ -0,0 +1,186 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_mtbf_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+
+ /* Evelyn 20090415: Merge R6 */
+
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _GPRS_MTBF_PUN_H
+#define _GPRS_MTBF_PUN_H
+#define tlli_g_rnti_struct_size(x) 5
+IMP unsigned int tlli_g_rnti_struct_bits(void *);
+IMP void tlli_g_rnti_struct_alloc(void *);
+IMP void tlli_g_rnti_struct_dealloc(void *);
+IMP unsigned int tlli_g_rnti_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int tlli_g_rnti_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define bts_mode_modify_struct_size(x) 1
+IMP unsigned int bts_mode_modify_struct_bits(void *);
+IMP void bts_mode_modify_struct_alloc(void *);
+IMP void bts_mode_modify_struct_dealloc(void *);
+IMP unsigned int bts_mode_modify_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int bts_mode_modify_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprs_window_size_struct_bits(void *);
+IMP void egprs_window_size_struct_alloc(void *);
+IMP void egprs_window_size_struct_dealloc(void *);
+IMP unsigned int egprs_window_size_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_window_size_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int hfn_lsb_struct_bits(void *);
+IMP void hfn_lsb_struct_alloc(void *);
+IMP void hfn_lsb_struct_dealloc(void *);
+IMP unsigned int hfn_lsb_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int hfn_lsb_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mtbf_downlink_tbf_assign_struct_bits(void *);
+IMP void mtbf_downlink_tbf_assign_struct_alloc(void *);
+IMP void mtbf_downlink_tbf_assign_struct_dealloc(void *);
+IMP unsigned int mtbf_downlink_tbf_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mtbf_downlink_tbf_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pfi_rlcmode_struct_size(x) 1
+IMP unsigned int pfi_rlcmode_struct_bits(void *);
+IMP void pfi_rlcmode_struct_alloc(void *);
+IMP void pfi_rlcmode_struct_dealloc(void *);
+IMP unsigned int pfi_rlcmode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pfi_rlcmode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int tbf_address_rel6_struct_bits(void *);
+IMP void tbf_address_rel6_struct_alloc(void *);
+IMP void tbf_address_rel6_struct_dealloc(void *);
+IMP unsigned int tbf_address_rel6_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int tbf_address_rel6_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *, kal_bool);
+
+IMP unsigned int downlink_tbf_assign_struct_bits(void *);
+IMP void downlink_tbf_assign_struct_alloc(void *);
+IMP void downlink_tbf_assign_struct_dealloc(void *);
+IMP unsigned int downlink_tbf_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int downlink_tbf_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprsdl_assign_additions_mtbf_struct_bits(void *);
+IMP void egprsdl_assign_additions_mtbf_struct_alloc(void *);
+IMP void egprsdl_assign_additions_mtbf_struct_dealloc(void *);
+IMP unsigned int egprsdl_assign_additions_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsdl_assign_additions_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mtbf_downlink_assign_bits(void *);
+IMP void mtbf_downlink_assign_alloc(void *);
+IMP void mtbf_downlink_assign_dealloc(void *);
+IMP unsigned int mtbf_downlink_assign_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mtbf_downlink_assign_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gamma_choise_struct_bits(void *);
+IMP void gamma_choise_struct_alloc(void *);
+IMP void gamma_choise_struct_dealloc(void *);
+IMP unsigned int gamma_choise_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gamma_choise_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int alpha_gamma_choise_struct_bits(void *);
+IMP void alpha_gamma_choise_struct_alloc(void *);
+IMP void alpha_gamma_choise_struct_dealloc(void *);
+IMP unsigned int alpha_gamma_choise_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int alpha_gamma_choise_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int timeslot_desc_struct_bits(void *);
+IMP void timeslot_desc_struct_alloc(void *);
+IMP void timeslot_desc_struct_dealloc(void *);
+IMP unsigned int timeslot_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int timeslot_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *, kal_bool);
+
+IMP unsigned int usf_alloc_struct_bits(void *);
+IMP void usf_alloc_struct_alloc(void *);
+IMP void usf_alloc_struct_dealloc(void *);
+IMP unsigned int usf_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int usf_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int different_usf_alloc_struct_bits(void *);
+IMP void different_usf_alloc_struct_alloc(void *);
+IMP void different_usf_alloc_struct_dealloc(void *);
+IMP unsigned int different_usf_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int different_usf_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *, unsigned int);
+
+IMP unsigned int uplink_tbf_assign_struct_bits(void *);
+IMP void uplink_tbf_assign_struct_alloc(void *);
+IMP void uplink_tbf_assign_struct_dealloc(void *);
+IMP unsigned int uplink_tbf_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int uplink_tbf_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *, unsigned int, kal_bool);
+
+IMP unsigned int uplink_assign_struct_bits(void *);
+IMP void uplink_assign_struct_alloc(void *);
+IMP void uplink_assign_struct_dealloc(void *);
+IMP unsigned int uplink_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int uplink_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprs_uplink_assign_mtbf_struct_bits(void *);
+IMP void gprs_uplink_assign_mtbf_struct_alloc(void *);
+IMP void gprs_uplink_assign_mtbf_struct_dealloc(void *);
+IMP unsigned int gprs_uplink_assign_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_uplink_assign_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprs_uplink_assign_mtbf_struct_bits(void *);
+IMP void egprs_uplink_assign_mtbf_struct_alloc(void *);
+IMP void egprs_uplink_assign_mtbf_struct_dealloc(void *);
+IMP unsigned int egprs_uplink_assign_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_uplink_assign_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mtbf_uplink_assign_bits(void *);
+IMP void mtbf_uplink_assign_alloc(void *);
+IMP void mtbf_uplink_assign_dealloc(void *);
+IMP unsigned int mtbf_uplink_assign_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mtbf_uplink_assign_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ts_reconfig_dl_tbf_assign_struct_bits(void *);
+IMP void ts_reconfig_dl_tbf_assign_struct_alloc(void *);
+IMP void ts_reconfig_dl_tbf_assign_struct_dealloc(void *);
+IMP unsigned int ts_reconfig_dl_tbf_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ts_reconfig_dl_tbf_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ts_reconfig_dl_tbf_assign_mtbf_struct_bits(void *);
+IMP void ts_reconfig_dl_tbf_assign_mtbf_struct_alloc(void *);
+IMP void ts_reconfig_dl_tbf_assign_mtbf_struct_dealloc(void *);
+IMP unsigned int ts_reconfig_dl_tbf_assign_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ts_reconfig_dl_tbf_assign_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ts_reconfig_ul_assign_struct_bits(void *);
+IMP void ts_reconfig_ul_assign_struct_alloc(void *);
+IMP void ts_reconfig_ul_assign_struct_dealloc(void *);
+IMP unsigned int ts_reconfig_ul_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ts_reconfig_ul_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprs_ts_reconfig_mtbf_struct_bits(void *);
+IMP void gprs_ts_reconfig_mtbf_struct_alloc(void *);
+IMP void gprs_ts_reconfig_mtbf_struct_dealloc(void *);
+IMP unsigned int gprs_ts_reconfig_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_ts_reconfig_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprs_ts_reconfig_mtbf_struct_bits(void *);
+IMP void egprs_ts_reconfig_mtbf_struct_alloc(void *);
+IMP void egprs_ts_reconfig_mtbf_struct_dealloc(void *);
+IMP unsigned int egprs_ts_reconfig_mtbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_ts_reconfig_mtbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mtbf_timeslot_reconfigure_assign_bits(void *);
+IMP void mtbf_timeslot_reconfigure_assign_alloc(void *);
+IMP void mtbf_timeslot_reconfigure_assign_dealloc(void *);
+IMP unsigned int mtbf_timeslot_reconfigure_assign_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mtbf_timeslot_reconfigure_assign_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+extern kal_uint8 rr_get_1s_count(kal_uint32 number);
+#endif 
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_mtbf_struct.h b/mcu/protocol/interface/asn/rr/include/gprs_mtbf_struct.h
new file mode 100644
index 0000000..d59b75a
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_mtbf_struct.h
@@ -0,0 +1,396 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_mtbf_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+#include "gprs_rlcmac_dl_struct.h"
+#include "gprs_rlcmac_common_struct.h"
+
+ /* Evelyn 20090415: Merge R6 */
+
+#ifndef _GPRS_MTBF_STRUCT_H
+#define _GPRS_MTBF_STRUCT_H
+
+typedef struct {
+    kal_uint32 tlli_or_grnti; /* TLLI or G-RNTI*/
+    kal_uint8 g_rnti_ext; /* G-RNTI EXTENTION*/
+} tlli_g_rnti_struct;
+
+typedef struct {
+    kal_uint8 p0; /* P0*/
+    kal_uint8 pr_mode; /* PR_MODE*/
+} bts_mode_modify_struct;
+
+typedef struct {
+    ispresent egprs_window_size_choice_tag;
+    union {
+        kal_uint8 p_egprs_window_size;
+    } egprs_window_size_choice_value;
+} egprs_window_size_struct;
+
+typedef struct {
+    ispresent hfn_lsb_choice_tag;
+    union {
+        kal_uint8 p_hfn_lsb;
+    } hfn_lsb_choice_value;
+} hfn_lsb_struct;
+
+typedef struct {
+    kal_uint8 pfi; /* PFI*/
+    kal_uint8 rlcmode; /* RLC MODE*/
+} pfi_rlcmode_struct;
+
+typedef struct {
+    ispresent RB_PFI_choice_tag;
+    union {
+        kal_uint8 rb;
+        pfi_rlcmode_struct pfi;
+    } RB_PFI_choice_value;
+} tbf_address_rel6_struct;
+
+typedef struct {
+    tbf_address_rel6_struct tbf_address; /* TBF addressed*/
+    kal_uint8 downlink_tfi; /* DOWN LINK TFI*/
+    kal_uint8 ctrl_ack; /* CONTROL ACK*/
+    egprs_window_size_struct egprs_window; /* EDGE Window Size*/
+    hfn_lsb_struct hfn_lsb; /* HFN_LSB*/
+} downlink_tbf_assign_struct;
+
+typedef struct {
+    kal_uint8 timeslot; /* Timeslot allocation*/
+    unsigned int no_downlink_tbf_assign;
+    unsigned int downlink_tbf_assign_size;
+    downlink_tbf_assign_struct *downlink_tbf_assign;
+} mtbf_downlink_tbf_assign_struct;
+
+typedef struct {
+    ispresent egprs_ws_choice_tag;
+    union {
+        kal_uint8 p_egprs_ws;
+    } egprs_ws_choice_value;
+    kal_uint8 link_quality_meas_mode; /* link quality measurement mode*/
+    ispresent bep_period_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period_choice_value;
+} egprsdl_assign_additions_mtbf_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_add_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        tlli_g_rnti_struct tlli_g_rnti;
+    } ms_add_choice_value;
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_modify_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent pwr_ctrl_param_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_power_ctrl_param_value;
+    } pwr_ctrl_param_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent rel99choice_tag;
+    union {
+        egprsdl_assign_additions_mtbf_struct p_rel99;
+    } rel99choice_value;
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+    ispresent uplink_ctrl_tn_choice_tag;
+    union {
+        kal_uint8 p_uplink_ctrl_tn;
+    } uplink_ctrl_tn_choice_value;
+    unsigned int no_mtbf_downlink_tbf_assign;
+    unsigned int mtbf_downlink_tbf_assign_size;
+    mtbf_downlink_tbf_assign_struct *mtbf_downlink_tbf_assign;
+} mtbf_downlink_assign;
+
+typedef struct {
+    ispresent gamma_choice_tag;
+    union {
+        kal_uint8 p_gamma;
+    } gamma_choice_value;
+} gamma_choise_struct;
+
+typedef struct {
+    kal_uint8 alpha; /* GAMMA*/
+    gamma_choise_struct gamma_tn[8];
+} alpha_gamma_choise_struct;
+
+typedef struct {
+    ispresent usf_alloc_choice_tag;
+    union {
+        kal_uint8 p_usf_alloc;
+    } usf_alloc_choice_value;
+} usf_alloc_struct;
+
+typedef struct {
+    kal_uint8 usf_alloc; /* USF ALLOCATION*/
+    usf_alloc_struct nex_usf_alloc[7];
+} different_usf_alloc_struct;
+
+typedef struct {
+    tbf_address_rel6_struct tbf_address; /* TBF addressed*/
+    kal_uint8 uplink_tfi; /* UPLINK TFI*/
+    ispresent cs_choice_tag;
+    union {
+        kal_uint8 p_coding_scheme;
+    } cs_choice_value;
+    ispresent egprs_cs_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_cs;
+    } egprs_cs_choice_value;
+    ispresent egprs_window_size_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_window_size;
+    } egprs_window_size_choice_value;
+    kal_uint8 usf_granularity; /* USF GRANULARITY*/
+    ispresent tbf_tn_choice_tag;
+    union {
+        kal_uint8 p_tbf_tn;
+    } tbf_tn_choice_value;
+    ispresent usf_choice_tag;
+    union {
+        kal_uint8 global_usf;
+        different_usf_alloc_struct diff_usf;
+    } usf_choice_value;
+    kal_uint8 tn_pos[8]; /* UL TN allocation based on 8 timeslot decription*/
+    kal_uint8 usf_on_tn[8]; /* USF allocation based on 8 timeslot decription*/
+} uplink_tbf_assign_struct;
+
+typedef struct {
+    ispresent timeslot_desc_choice_tag;
+    union {
+        kal_uint8 ms_tn_alloc;
+        alpha_gamma_choise_struct tn_pwr_ctrl_alloc;
+    } timeslot_desc_choice_value;
+    unsigned int no_uplink_tbf_assign;
+    unsigned int uplink_tbf_assign_size;
+    uplink_tbf_assign_struct *uplink_tbf_assign;
+    kal_uint8 ms_tn;
+} timeslot_desc_struct;
+
+typedef struct {
+    kal_uint8 extended_dyn_alloc; /* EXT DYNAMIC ALLOCATION*/
+    ispresent uplink_ctrl_tn_choice_tag;
+    union {
+        kal_uint8 p_uplink_ctrl_tn;
+    } uplink_ctrl_tn_choice_value;
+    ispresent p0pr_mode_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_mode_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent global_tn_choice_tag;
+    union {
+        timeslot_desc_struct p_global_tn;
+    } global_tn_choice_value;
+} uplink_assign_struct;
+
+typedef struct {
+    ispresent global_cs_choice_tag;
+    union {
+        kal_uint8 p_coding_scheme;
+    } global_cs_choice_value;
+    kal_uint8 tlli_blk_ch_code; /* TLLI CODE*/
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent uplink_assign_choice_tag;
+    union {
+        uplink_assign_struct p_uplink_tbf;
+    } uplink_assign_choice_value;
+} gprs_uplink_assign_mtbf_struct;
+
+typedef struct {
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    ispresent global_egprs_window_size_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_window_size;
+    } global_egprs_window_size_choice_value;
+    ispresent global_egprs_cs_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_cs;
+    } global_egprs_cs_choice_value;
+    kal_uint8 resegment; /* RESEGMENT*/
+    kal_uint8 tlli_blk_ch_code; /* TLLI CODE*/
+    ispresent bep_period2_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period2_choice_value;
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent uplink_assign_choice_tag;
+    union {
+        uplink_assign_struct p_uplink_tbf;
+    } uplink_assign_choice_value;
+} egprs_uplink_assign_mtbf_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_add_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        tlli_g_rnti_struct tlli_g_rnti;
+    } ms_add_choice_value;
+    ispresent uplink_assgn_mtbf_choice_tag;
+    union {
+        gprs_uplink_assign_mtbf_struct a_gprs_uplink_assign_mtbf;
+        egprs_uplink_assign_mtbf_struct p_egprs_uplink_assign_mtbf;
+    } uplink_assgn_mtbf_choice_value;
+} mtbf_uplink_assign;
+
+typedef struct {
+    tbf_address_rel6_struct tbf_address; /* TBF addressed*/
+    ispresent uplink_ctrl_tn_choice_tag;
+    union {
+        kal_uint8 p_uplink_ctrl_tn;
+    } uplink_ctrl_tn_choice_value;
+    kal_uint8 downlink_tfi; /* DOWN LINK TFI*/
+    kal_uint8 ctrl_ack; /* CONTROL ACK*/
+    egprs_window_size_struct egprs_window; /* EDGE Window Size*/
+} ts_reconfig_dl_tbf_assign_struct;
+
+typedef struct {
+    kal_uint8 timeslot; /* Timeslot allocation*/
+    ispresent uplink_ctrl_tn_choice_tag;
+    union {
+        kal_uint8 p_uplink_ctrl_tn;
+    } uplink_ctrl_tn_choice_value;
+    unsigned int no_downlink_tbf_assign;
+    unsigned int downlink_tbf_assign_size;
+    ts_reconfig_dl_tbf_assign_struct *downlink_tbf_assign;
+} ts_reconfig_dl_tbf_assign_mtbf_struct;
+
+typedef struct {
+    kal_uint8 extended_dyn_alloc; /* EXT DYNAMIC ALLOCATION*/
+    ispresent p0pr_mode_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_mode_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent global_tn_choice_tag;
+    union {
+        timeslot_desc_struct p_global_tn;
+    } global_tn_choice_value;
+} ts_reconfig_ul_assign_struct;
+
+typedef struct {
+    ispresent global_cs_choice_tag;
+    union {
+        kal_uint8 p_coding_scheme;
+    } global_cs_choice_value;
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GLOBAL PACKET TIMING ADVANCE*/
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+    unsigned int no_ts_reconfig_dl_tbf_assign_mtbf;
+    unsigned int ts_reconfig_dl_tbf_assign_mtbf_size;
+    ts_reconfig_dl_tbf_assign_mtbf_struct *ts_reconfig_dl_tbf_assign_mtbf;
+    ts_reconfig_ul_assign_struct uplink_tbf; /* Multiple Uplink Assignment*/
+} gprs_ts_reconfig_mtbf_struct;
+
+typedef struct {
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    ispresent global_egprs_cs_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_cs;
+    } global_egprs_cs_choice_value;
+    kal_uint8 resegment; /* RESEGMENT*/
+    ispresent dl_egprs_window_size_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_window_size;
+    } dl_egprs_window_size_choice_value;
+    ispresent rel99choice_tag;
+    union {
+        egprsdl_assign_additions_mtbf_struct p_rel99;
+    } rel99choice_value;
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GLOBAL PACKET TIMING ADVANCE*/
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    unsigned int no_ts_reconfig_dl_tbf_assign_mtbf;
+    unsigned int ts_reconfig_dl_tbf_assign_mtbf_size;
+    ts_reconfig_dl_tbf_assign_mtbf_struct *ts_reconfig_dl_tbf_assign_mtbf;
+    ts_reconfig_ul_assign_struct uplink_tbf; /* Multiple Uplink Assignment*/
+} egprs_ts_reconfig_mtbf_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    kal_uint8 msgesc1; /* MESSAGE ESCAPE*/
+    global_tfistruct global_tfi; /* GLOBAL TFI*/
+    ispresent ts_reconfig_mtbf_choice_tag;
+    union {
+        gprs_ts_reconfig_mtbf_struct a_gprs_ts_reconfig_mtbf;
+        egprs_ts_reconfig_mtbf_struct p_egprs_ts_reconfig_mtbf;
+    } ts_reconfig_mtbf_choice_value;
+} mtbf_timeslot_reconfigure_assign;
+#endif 
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common.h
new file mode 100644
index 0000000..aa22250
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common.h
@@ -0,0 +1,123 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_common.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _GPRS_RLCMAC_COMMON_H_
+#define _GPRS_RLCMAC_COMMON_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_gprs_rlcmac_common.h"
+#include "get_gprs_rlcmac_common.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_pun.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_pun.h
new file mode 100644
index 0000000..7cb9cb9
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_pun.h
@@ -0,0 +1,177 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_common_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_common_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _GPRS_RLCMAC_COMMON_PUN_H
+#define _GPRS_RLCMAC_COMMON_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define ul_ctrl_header_struct_size(x) 1
+IMP unsigned int ul_ctrl_header_struct_bits(void *);
+IMP void ul_ctrl_header_struct_alloc(void *);
+IMP void ul_ctrl_header_struct_dealloc(void *);
+IMP unsigned int ul_ctrl_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ul_ctrl_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define data_blk_hdr_struct_size(x) 1
+IMP unsigned int data_blk_hdr_struct_bits(void *);
+IMP void data_blk_hdr_struct_alloc(void *);
+IMP void data_blk_hdr_struct_dealloc(void *);
+IMP unsigned int data_blk_hdr_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int data_blk_hdr_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define third_octet_struct_size(x) 1
+IMP unsigned int third_octet_struct_bits(void *);
+IMP void third_octet_struct_alloc(void *);
+IMP void third_octet_struct_dealloc(void *);
+IMP unsigned int third_octet_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int third_octet_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ctrl_blk_hdr_struct_bits(void *);
+IMP void ctrl_blk_hdr_struct_alloc(void *);
+IMP void ctrl_blk_hdr_struct_dealloc(void *);
+IMP unsigned int ctrl_blk_hdr_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ctrl_blk_hdr_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int header_struct_bits(void *);
+IMP void header_struct_alloc(void *);
+IMP void header_struct_dealloc(void *);
+IMP unsigned int header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define ack_nack_desc_struct_size(x) 9
+IMP unsigned int ack_nack_desc_struct_bits(void *);
+IMP void ack_nack_desc_struct_alloc(void *);
+IMP void ack_nack_desc_struct_dealloc(void *);
+IMP unsigned int ack_nack_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ack_nack_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+/* Claire 041224 change : Move code from nstd_egprs_ack_pun.c to gprs_rlcmac_common_rest.c */
+IMP unsigned int egprsack_nack_description_struct_bits(void *);
+IMP void egprsack_nack_description_struct_alloc(void *);
+IMP void egprsack_nack_description_struct_dealloc(void *);
+IMP unsigned int egprsack_nack_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsack_nack_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_struct.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_struct.h
new file mode 100644
index 0000000..f96b09d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_common_struct.h
@@ -0,0 +1,195 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_common_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_common_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _GPRS_RLCMAC_COMMON_STRUCT_H
+#define _GPRS_RLCMAC_COMMON_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+
+typedef struct {
+    kal_uint8 payloadtype;
+    kal_uint8 spare;
+    kal_uint8 retry;
+} ul_ctrl_header_struct;
+
+typedef struct {
+    kal_uint8 rrbp; /* RELATIVE REVERSE BLOCK PERIOD*/
+    kal_uint8 s_or_p; /* SUPPLEMENTARY AND POLLING BIT*/
+    kal_uint8 usf; /* UPLINK STATE FLAG*/
+} data_blk_hdr_struct;
+
+typedef struct {
+    kal_uint8 pr; /* power reduction*/
+    kal_uint8 tfi; /* power reduction*/
+    kal_uint8 dir; /* direction bit*/
+} third_octet_struct;
+
+typedef struct {
+    kal_uint8 rrbp; /* RELATIVE REVERSE BLOCK PERIOD*/
+    kal_uint8 s_or_p; /* SUPPLEMENTARY AND POLLING BIT*/
+    kal_uint8 usf; /* UPLINK STATE FLAG*/
+    kal_uint8 rbsn; /* RBSN*/
+    kal_uint8 rti; /* radio transaction identifier*/
+    kal_uint8 fs; /* final segment bit*/
+    ispresent third_octet_choice_tag;
+    union {
+        third_octet_struct pthird_octet_choice;
+    } third_octet_choice_value;
+} ctrl_blk_hdr_struct;
+
+typedef struct {
+    pay_load_type_enum pay_load_tag;
+    union {
+        data_blk_hdr_struct data_blk_hdr;
+        data_blk_hdr_struct ctrl_blk_hdr1;
+        ctrl_blk_hdr_struct ctrl_blk_hdr2;
+    } pay_load_value;
+} header_struct;
+
+typedef struct {
+    kal_uint8 final_ack_indication; /* FINAL ACK INDICATION*/
+    kal_uint8 starting_sequence_number; /* STARTING SEQUENCE NUMBER*/
+    kal_uint8 rxd_blk_bitmap[8];
+} ack_nack_desc_struct;
+
+#ifdef __EGPRS_MODE__
+typedef struct egprsack_nack_description_struct{
+    kal_uint8  final_ack_indication;
+    kal_uint16  begin_window;
+    kal_uint16  end_window;
+    kal_uint16  start_seq_no;
+    kal_uint8  is_compressed;
+    kal_uint8  color_code;
+    kal_uint8  c_bitmap_length;
+    kal_uint8 c_bitmap[16];
+    kal_uint8   uc_bitmap_length;
+    kal_uint8 uc_bitmap[40];
+} egprsack_nack_description_struct;
+#endif
+
+/* Austin 040406: support PSI status */
+typedef struct {
+    ispresent tfi_choice_tag;
+    union {
+        kal_uint8 ul_tfi;
+        kal_uint8 dl_tfi;
+    } tfi_choice_value;
+} global_tfistruct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl.h
new file mode 100644
index 0000000..9b6e1f9
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl.h
@@ -0,0 +1,123 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_dl.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _GPRS_RLCMAC_DL_H_
+#define _GPRS_RLCMAC_DL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_gprs_rlcmac_dl.h"
+#include "get_gprs_rlcmac_dl.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_pun.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_pun.h
new file mode 100644
index 0000000..be5eadd
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_pun.h
@@ -0,0 +1,480 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_dl_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_dl_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _GPRS_RLCMAC_DL_PUN_H
+#define _GPRS_RLCMAC_DL_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define persist_level_struct_size(x) 2
+IMP unsigned int persist_level_struct_bits(void *);
+IMP void persist_level_struct_alloc(void *);
+IMP void persist_level_struct_dealloc(void *);
+IMP unsigned int persist_level_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int persist_level_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int global_tfistruct_bits(void *);
+IMP void global_tfistruct_alloc(void *);
+IMP void global_tfistruct_dealloc(void *);
+IMP unsigned int global_tfistruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int global_tfistruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define timing_adv_idx_tslot_struct_size(x) 1
+IMP unsigned int timing_adv_idx_tslot_struct_bits(void *);
+IMP void timing_adv_idx_tslot_struct_alloc(void *);
+IMP void timing_adv_idx_tslot_struct_dealloc(void *);
+IMP unsigned int timing_adv_idx_tslot_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int timing_adv_idx_tslot_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_timing_advance_struct_bits(void *);
+IMP void pkt_timing_advance_struct_alloc(void *);
+IMP void pkt_timing_advance_struct_dealloc(void *);
+IMP unsigned int pkt_timing_advance_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_timing_advance_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int chng_mark1struct_bits(void *);
+IMP void chng_mark1struct_alloc(void *);
+IMP void chng_mark1struct_dealloc(void *);
+IMP unsigned int chng_mark1struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int chng_mark1struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int indirect_encode_struct_bits(void *);
+IMP void indirect_encode_struct_alloc(void *);
+IMP void indirect_encode_struct_dealloc(void *);
+IMP unsigned int indirect_encode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int indirect_encode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int direct_encode1struct_bits(void *);
+IMP void direct_encode1struct_alloc(void *);
+IMP void direct_encode1struct_dealloc(void *);
+IMP unsigned int direct_encode1struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int direct_encode1struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int freq_params_peer_struct_bits(void *);
+IMP void freq_params_peer_struct_alloc(void *);
+IMP void freq_params_peer_struct_dealloc(void *);
+IMP unsigned int freq_params_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int freq_params_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int starting_frame_num_struct_bits(void *);
+IMP void starting_frame_num_struct_alloc(void *);
+IMP void starting_frame_num_struct_dealloc(void *);
+IMP unsigned int starting_frame_num_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int starting_frame_num_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pkt_req_ref_struct_size(x) 4
+IMP unsigned int pkt_req_ref_struct_bits(void *);
+IMP void pkt_req_ref_struct_alloc(void *);
+IMP void pkt_req_ref_struct_dealloc(void *);
+IMP unsigned int pkt_req_ref_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_req_ref_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int usf_struct_bits(void *);
+IMP void usf_struct_alloc(void *);
+IMP void usf_struct_dealloc(void *);
+IMP unsigned int usf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int usf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int time_slot_alloc_struct_bits(void *);
+IMP void time_slot_alloc_struct_alloc(void *);
+IMP void time_slot_alloc_struct_dealloc(void *);
+IMP unsigned int time_slot_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int time_slot_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define usf_gamma_struct_size(x) 1
+IMP unsigned int usf_gamma_struct_bits(void *);
+IMP void usf_gamma_struct_alloc(void *);
+IMP void usf_gamma_struct_dealloc(void *);
+IMP unsigned int usf_gamma_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int usf_gamma_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_usf_pwr_ctrl_struct_bits(void *);
+IMP void rr_usf_pwr_ctrl_struct_alloc(void *);
+IMP void rr_usf_pwr_ctrl_struct_dealloc(void *);
+IMP unsigned int rr_usf_pwr_ctrl_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_usf_pwr_ctrl_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int time_slot_pwr_ctrl_alloc_struct_bits(void *);
+IMP void time_slot_pwr_ctrl_alloc_struct_alloc(void *);
+IMP void time_slot_pwr_ctrl_alloc_struct_dealloc(void *);
+IMP unsigned int time_slot_pwr_ctrl_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int time_slot_pwr_ctrl_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define p0pr_mode_struct_size(x) 1
+IMP unsigned int p0pr_mode_struct_bits(void *);
+IMP void p0pr_mode_struct_alloc(void *);
+IMP void p0pr_mode_struct_dealloc(void *);
+IMP unsigned int p0pr_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int p0pr_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int dynamic_alloc_struct_bits(void *);
+IMP void dynamic_alloc_struct_alloc(void *);
+IMP void dynamic_alloc_struct_dealloc(void *);
+IMP unsigned int dynamic_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int dynamic_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define alpha_gamma_struct_size(x) 2
+IMP unsigned int alpha_gamma_struct_bits(void *);
+IMP void alpha_gamma_struct_alloc(void *);
+IMP void alpha_gamma_struct_dealloc(void *);
+IMP unsigned int alpha_gamma_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int alpha_gamma_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define bts_mode_struct_size(x) 1
+IMP unsigned int bts_mode_struct_bits(void *);
+IMP void bts_mode_struct_alloc(void *);
+IMP void bts_mode_struct_dealloc(void *);
+IMP unsigned int bts_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int bts_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int single_blk_alloc_struct_bits(void *);
+IMP void single_blk_alloc_struct_alloc(void *);
+IMP void single_blk_alloc_struct_dealloc(void *);
+IMP unsigned int single_blk_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int single_blk_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+/* Claire 041123 new : Add for decoding Multi Block Allocation struct in PUAS */
+#ifdef __EGPRS_MODE__
+IMP unsigned int multi_blk_alloc_struct_bits(void *);
+IMP void multi_blk_alloc_struct_alloc(void *);
+IMP void multi_blk_alloc_struct_dealloc(void *);
+IMP unsigned int multi_blk_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int multi_blk_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+#endif
+
+IMP unsigned int gamma_tn_value_struct_bits(void *);
+IMP void gamma_tn_value_struct_alloc(void *);
+IMP void gamma_tn_value_struct_dealloc(void *);
+IMP unsigned int gamma_tn_value_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gamma_tn_value_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pwr_ctrl_params_peer_struct_bits(void *);
+IMP void pwr_ctrl_params_peer_struct_alloc(void *);
+IMP void pwr_ctrl_params_peer_struct_dealloc(void *);
+IMP unsigned int pwr_ctrl_params_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pwr_ctrl_params_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int fixed_alloc_struct_bits(void *);
+IMP void fixed_alloc_struct_alloc(void *);
+IMP void fixed_alloc_struct_dealloc(void *);
+IMP unsigned int fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int extend_timing_adv_struct_bits(void *);
+IMP void extend_timing_adv_struct_alloc(void *);
+IMP void extend_timing_adv_struct_dealloc(void *);
+IMP unsigned int extend_timing_adv_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int extend_timing_adv_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+/* Evelyn 20090415: Merge R6 */
+IMP unsigned int gprsuplnk_assign_struct_bits(void *);
+IMP void gprsuplnk_assign_struct_alloc(void *);
+IMP void gprsuplnk_assign_struct_dealloc(void *);
+IMP unsigned int gprsuplnk_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsuplnk_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __EGPRS_MODE__
+#define rmc_access_tech_req_elem_struct_size(x) 1
+IMP unsigned int rmc_access_tech_req_elem_struct_bits(void *);
+IMP void rmc_access_tech_req_elem_struct_alloc(void *);
+IMP void rmc_access_tech_req_elem_struct_dealloc(void *);
+IMP unsigned int rmc_access_tech_req_elem_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_access_tech_req_elem_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_access_tech_req_struct_bits(void *);
+IMP void rmc_access_tech_req_struct_alloc(void *);
+IMP void rmc_access_tech_req_struct_dealloc(void *);
+IMP unsigned int rmc_access_tech_req_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_access_tech_req_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprsuplnk_assign_struct_bits(void *);
+IMP void egprsuplnk_assign_struct_alloc(void *);
+IMP void egprsuplnk_assign_struct_dealloc(void *);
+IMP unsigned int egprsuplnk_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsuplnk_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+#endif
+
+IMP unsigned int pkt_uplink_assignment_msg_bits(void *);
+IMP void pkt_uplink_assignment_msg_alloc(void *);
+IMP void pkt_uplink_assignment_msg_dealloc(void *);
+IMP unsigned int pkt_uplink_assignment_msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_uplink_assignment_msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int meas_map_peer_struct_bits(void *);
+IMP void meas_map_peer_struct_alloc(void *);
+IMP void meas_map_peer_struct_dealloc(void *);
+IMP unsigned int meas_map_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int meas_map_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __EGPRS_MODE__
+IMP unsigned int egprsws_link_quality_bits(void *);
+IMP void egprsws_link_quality_alloc(void *);
+IMP void egprsws_link_quality_dealloc(void *);
+IMP unsigned int egprsws_link_quality_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsws_link_quality_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprsdl_assign_additions_struct_bits(void *);
+IMP void egprsdl_assign_additions_struct_alloc(void *);
+IMP void egprsdl_assign_additions_struct_dealloc(void *);
+IMP unsigned int egprsdl_assign_additions_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsdl_assign_additions_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+#endif
+/* Evelyn 20090415: Merge R6 */
+IMP unsigned int pkt_downlink_assign_bits(void *);
+IMP void pkt_downlink_assign_alloc(void *);
+IMP void pkt_downlink_assign_dealloc(void *);
+IMP unsigned int pkt_downlink_assign_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_downlink_assign_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define wait_struct_size(x) 2
+IMP unsigned int wait_struct_bits(void *);
+IMP void wait_struct_alloc(void *);
+IMP void wait_struct_dealloc(void *);
+IMP unsigned int wait_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int wait_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int reject_struct_bits(void *);
+IMP void reject_struct_alloc(void *);
+IMP void reject_struct_dealloc(void *);
+IMP unsigned int reject_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int reject_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int packet_access_reject_bits(void *);
+IMP void packet_access_reject_alloc(void *);
+IMP void packet_access_reject_dealloc(void *);
+IMP unsigned int packet_access_reject_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int packet_access_reject_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int packet_queing_notification_bits(void *);
+IMP void packet_queing_notification_alloc(void *);
+IMP void packet_queing_notification_dealloc(void *);
+IMP unsigned int packet_queing_notification_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int packet_queing_notification_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int alloc_bitmap_struct_bits(void *);
+IMP void alloc_bitmap_struct_alloc(void *);
+IMP void alloc_bitmap_struct_dealloc(void *);
+IMP unsigned int alloc_bitmap_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int alloc_bitmap_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ack_nack_fixed_alloc_struct_bits(void *);
+IMP void ack_nack_fixed_alloc_struct_alloc(void *);
+IMP void ack_nack_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int ack_nack_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ack_nack_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprsuplnk_ack_nack_struct_bits(void *);
+IMP void gprsuplnk_ack_nack_struct_alloc(void *);
+IMP void gprsuplnk_ack_nack_struct_dealloc(void *);
+IMP unsigned int gprsuplnk_ack_nack_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsuplnk_ack_nack_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __EGPRS_MODE__
+IMP unsigned int egprsuplnk_ack_nack_struct_bits(void *);
+IMP void egprsuplnk_ack_nack_struct_alloc(void *);
+IMP void egprsuplnk_ack_nack_struct_dealloc(void *);
+IMP unsigned int egprsuplnk_ack_nack_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsuplnk_ack_nack_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+#endif
+
+IMP unsigned int pkt_uplink_ack_nack_bits(void *);
+IMP void pkt_uplink_ack_nack_alloc(void *);
+IMP void pkt_uplink_ack_nack_dealloc(void *);
+IMP unsigned int pkt_uplink_ack_nack_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_uplink_ack_nack_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define timing_adv_index_tn_struct_size(x) 1
+IMP unsigned int timing_adv_index_tn_struct_bits(void *);
+IMP void timing_adv_index_tn_struct_alloc(void *);
+IMP void timing_adv_index_tn_struct_dealloc(void *);
+IMP unsigned int timing_adv_index_tn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int timing_adv_index_tn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int global_pkt_tim_adv_struct_bits(void *);
+IMP void global_pkt_tim_adv_struct_alloc(void *);
+IMP void global_pkt_tim_adv_struct_dealloc(void *);
+IMP unsigned int global_pkt_tim_adv_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int global_pkt_tim_adv_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define global_pwr_ctrl_params_struct_size(x) 3
+IMP unsigned int global_pwr_ctrl_params_struct_bits(void *);
+IMP void global_pwr_ctrl_params_struct_alloc(void *);
+IMP void global_pwr_ctrl_params_struct_dealloc(void *);
+IMP unsigned int global_pwr_ctrl_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int global_pwr_ctrl_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int global_pwr_ctrl_pkt_tim_struct_bits(void *);
+IMP void global_pwr_ctrl_pkt_tim_struct_alloc(void *);
+IMP void global_pwr_ctrl_pkt_tim_struct_dealloc(void *);
+IMP unsigned int global_pwr_ctrl_pkt_tim_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int global_pwr_ctrl_pkt_tim_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_pwr_ctrl_tim_adv_struct_bits(void *);
+IMP void pkt_pwr_ctrl_tim_adv_struct_alloc(void *);
+IMP void pkt_pwr_ctrl_tim_adv_struct_dealloc(void *);
+IMP unsigned int pkt_pwr_ctrl_tim_adv_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_pwr_ctrl_tim_adv_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ts_reconfig_dynamic_alloc_struct_bits(void *);
+IMP void ts_reconfig_dynamic_alloc_struct_alloc(void *);
+IMP void ts_reconfig_dynamic_alloc_struct_dealloc(void *);
+IMP unsigned int ts_reconfig_dynamic_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ts_reconfig_dynamic_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ts_reconfig_fixed_alloc_struct_bits(void *);
+IMP void ts_reconfig_fixed_alloc_struct_alloc(void *);
+IMP void ts_reconfig_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int ts_reconfig_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ts_reconfig_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+/* Evelyn 20090415: Merge R6 */
+IMP unsigned int gprs_timeslot_reconfig_bits(void *);
+IMP void gprs_timeslot_reconfig_alloc(void *);
+IMP void gprs_timeslot_reconfig_dealloc(void *);
+IMP unsigned int gprs_timeslot_reconfig_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_timeslot_reconfig_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __EGPRS_MODE__
+IMP unsigned int egprs_timeslot_reconfig_bits(void *);
+IMP void egprs_timeslot_reconfig_alloc(void *);
+IMP void egprs_timeslot_reconfig_dealloc(void *);
+IMP unsigned int egprs_timeslot_reconfig_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_timeslot_reconfig_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+#endif
+
+IMP unsigned int pkt_timeslot_reconfigure_bits(void *);
+IMP void pkt_timeslot_reconfigure_alloc(void *);
+IMP void pkt_timeslot_reconfigure_dealloc(void *);
+IMP unsigned int pkt_timeslot_reconfigure_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_timeslot_reconfigure_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int packet_polling_request_bits(void *);
+IMP void packet_polling_request_alloc(void *);
+IMP void packet_polling_request_dealloc(void *);
+IMP unsigned int packet_polling_request_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int packet_polling_request_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_struct.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_struct.h
new file mode 100644
index 0000000..e5077b7
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_dl_struct.h
@@ -0,0 +1,978 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_dl_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_dl_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _GPRS_RLCMAC_DL_STRUCT_H
+#define _GPRS_RLCMAC_DL_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+#include "nstd_mobile_alloc_peer_struct.h"
+#include "nstd_alloc_bitmap_struct.h"
+#include "gprs_rlcmac_common_struct.h"
+#include "nstd_extension_bit_struct.h"
+
+typedef struct {
+    kal_uint8 persist_level[4];
+} persist_level_struct;
+
+typedef struct {
+    kal_uint8 timing_adv_index; /* TIMING ADV INDEX*/
+    kal_uint8 timing_adv_time_slot_no; /* TIMING ADV TIMESLOT NUMBER*/
+} timing_adv_idx_tslot_struct;
+
+typedef struct {
+    ispresent timing_adv_val_choice_tag;
+    union {
+        kal_uint8 p_timing_adv_val;
+    } timing_adv_val_choice_value;
+    ispresent timing_adv_idx_tslot_choice_tag;
+    union {
+        timing_adv_idx_tslot_struct p_timing_adv_index;
+    } timing_adv_idx_tslot_choice_value;
+} pkt_timing_advance_struct;
+
+typedef struct {
+    kal_uint8 chng_mark1; /* CHANGE MARK 1*/
+    ispresent chng_mark2choice_tag;
+    union {
+        kal_uint8 p_chng_mark2;
+    } chng_mark2choice_value;
+} chng_mark1struct;
+
+typedef struct {
+    kal_uint8 maio; /* MAIO*/
+    kal_uint8 ma_number; /* MA NUMBER*/
+    ispresent chng_mark1choice_tag;
+    union {
+        chng_mark1struct p_chng_mark1;
+    } chng_mark1choice_value;
+} indirect_encode_struct;
+
+typedef struct {
+    kal_uint8 maio; /* MAIO*/
+    rr_gprs_mobile_alloc_peer_struct gprs_mobile_alloc; /* GPRS MOBILE ALLOC STRUCT*/
+} direct_encode1struct;
+
+typedef struct {
+    kal_uint8 tsc; /* TSC*/
+    freq_enum freq_encoding_choice_tag;
+    union {
+        kal_uint16 arfcn;
+        indirect_encode_struct indirect_encode;
+        direct_encode1struct direct_encode1;
+        direct_encode2struct direct_encode2;
+    } freq_encoding_choice_value;
+} freq_params_peer_struct;
+
+typedef struct {
+    ispresent frame_num_encode_choice_tag;
+    union {
+        kal_uint16 a_absolute;
+        kal_uint16 p_relative;
+    } frame_num_encode_choice_value;
+} starting_frame_num_struct;
+
+typedef struct {
+    kal_uint16 random_access_info; /* RANDOM ACCESS INFORMATION*/
+    kal_uint16 frame_no; /* FRAME NUMBER*/
+} pkt_req_ref_struct;
+
+typedef struct {
+    ispresent usf_time_slot_choice_tag;
+    union {
+        kal_uint8 p_usf_time_slot;
+    } usf_time_slot_choice_value;
+} usf_struct;
+
+typedef struct {
+    usf_struct usf_alloc_struct[8];
+} time_slot_alloc_struct;
+
+typedef struct {
+    kal_uint8 usf_val; /* usf value*/
+    kal_uint8 gamma_tn; /* gamma value*/
+} usf_gamma_struct;
+
+typedef struct {
+    ispresent usf_gamma_time_slot_choice_tag;
+    union {
+        usf_gamma_struct p_usf_pwr_ctrl_time_slot;
+    } usf_gamma_time_slot_choice_value;
+} rr_usf_pwr_ctrl_struct;
+
+typedef struct {
+    kal_uint8 alpha; /* ALPHA*/
+    rr_usf_pwr_ctrl_struct usf_pwr_ctrl_struct[8];
+} time_slot_pwr_ctrl_alloc_struct;
+
+typedef struct {
+    kal_uint8 p0; /* p0 BIT*/
+    kal_uint8 pr_mode; /* PR MODE*/
+} p0pr_mode_struct;
+
+typedef struct {
+    kal_uint8 extended_dyn_alloc; /* EXT DYNAMIC ALLOCATION*/
+    ispresent p0pr_mode_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_mode_choice_value;
+    kal_uint8 usf_granularity; /* USF GRANULARITY*/
+    ispresent tfi_assignment_choice_tag;
+    union {
+        kal_uint8 p_tfi_assignment;
+    } tfi_assignment_choice_value;
+    ispresent rlc_blks_granted_choice_tag;
+    union {
+        kal_uint8 p_rlc_blks_granted;
+    } rlc_blks_granted_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent time_slot_pwr_ctrl_choice_tag;
+    union {
+        time_slot_alloc_struct a_time_slot_alloc;
+        time_slot_pwr_ctrl_alloc_struct p_time_slot_alloc;
+    } time_slot_pwr_ctrl_choice_value;
+} dynamic_alloc_struct;
+
+typedef struct {
+    kal_uint8 alpha; /* ALPHA*/
+    kal_uint8 gammatn; /* GAMMA*/
+} alpha_gamma_struct;
+
+typedef struct {
+    kal_uint8 p0; /* P0*/
+    kal_uint8 bts_mode; /* BTS MODE*/
+    kal_uint8 pr_mode; /* PR_MODE*/
+} bts_mode_struct;
+
+typedef struct {
+    kal_uint8 time_slot_no; /* TIME SLOT NUMBER*/
+    ispresent alpha_gamma_choice_tag;
+    union {
+        alpha_gamma_struct p_alpha_gamma;
+    } alpha_gamma_choice_value;
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    starting_frame_num_struct tbf_starting_time; /* TBF STARTING TIME*/
+} single_blk_alloc_struct;
+
+/* Claire 041123 new : Add for decoding Multi Block Allocation struct in PUAS */
+#ifdef __EGPRS_MODE__
+typedef struct {
+    kal_uint8 time_slot_no; /* TIME SLOT NUMBER*/
+    ispresent alpha_gamma_choice_tag;
+    union {
+        alpha_gamma_struct p_alpha_gamma;
+    } alpha_gamma_choice_value;
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    starting_frame_num_struct tbf_starting_time; /* TBF STARTING TIME*/
+    kal_uint8 no_of_blks_alloc;
+} multi_blk_alloc_struct;
+#endif
+
+typedef struct {
+    ispresent gamma_tn_val_choice_tag;
+    union {
+        kal_uint8 p_gamma_tn_value;
+    } gamma_tn_val_choice_value;
+} gamma_tn_value_struct;
+
+typedef struct {
+    kal_uint8 alpha; /* ALPHA*/
+    gamma_tn_value_struct gamma_tn_val_struct[8];
+} pwr_ctrl_params_peer_struct;
+
+typedef struct {
+    ispresent up_link_tfichoice_tag;
+    union {
+        kal_uint8 p_uplink_tfi_assgn;
+    } up_link_tfichoice_value;
+    kal_uint8 final_allocation; /* FINAL ALLOCATION*/
+    kal_uint8 down_link_ctrl_time_slot; /* DOWN LINK CONTROL TIME SLOT*/
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent pwr_ctrl_time_slot_choice_tag;
+    union {
+        kal_uint8 a_time_slot_allocation;
+        pwr_ctrl_params_peer_struct p_pwr_ctrl_params;
+    } pwr_ctrl_time_slot_choice_value;
+    kal_uint8 half_duplex_mode; /* HALF DUPLEX MODE*/
+    starting_frame_num_struct tbf_starting_time; /* TBF STARTING TIME*/
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    alloc_struct alloc_bit_map; /* ALLOCATION BITMAP*/
+} fixed_alloc_struct;
+
+typedef struct {
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timing_adv;
+    } extend_timing_adv_choice_value;
+} extend_timing_adv_struct;
+
+/* Evelyn 20090415: Merge R6 */
+
+typedef struct {
+    kal_uint8 ch_code_cmd; /* CHANNEL CODING COMMAND*/
+    kal_uint8 tlli_blk_ch_code; /* TLLI CODE*/
+    pkt_timing_advance_struct pkt_time_advance; /* PACKET TIME ADVANCE STRUCTURE*/
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    challoc_enum alloc_type_choice_tag;
+    union {
+        dynamic_alloc_struct dynamic_alloc;
+        single_blk_alloc_struct single_blk_alloc;
+        fixed_alloc_struct fixed_alloc;
+    } alloc_type_choice_value;
+/* Evelyn 20090415: Merge R6 */
+    ispresent rel99choice_tag;
+    union {
+        extend_timing_adv_struct p_rel99;
+    } rel99choice_value;
+} gprsuplnk_assign_struct;
+
+#ifdef __EGPRS_MODE__
+
+/* Claire 041123 test */
+typedef struct {
+    kal_uint8 access_tech_type;
+} rmc_access_tech_req_elem_struct;
+
+typedef struct {
+    kal_uint8 access_tech_type;
+    unsigned int no_access_tech_list;
+    unsigned int access_tech_list_size;
+    rmc_access_tech_req_elem_struct *access_tech_list;
+} rmc_access_tech_req_struct;
+/* End Claire 041123 test */
+
+typedef struct {
+    /* Claire 041123 change : Correct egprsuplnk_assign_struct pack unpack bug */
+    //kal_uint8 msgescape1; /* message ESCAPE*/
+    ispresent cont_res_tlli_choice_tag;
+    union {
+        kal_uint32 p_cont_resolution_tlli;
+    } cont_res_tlli_choice_value;
+    
+    ispresent compact_reduce_ma_choice_tag;
+    union {
+        kal_uint8 p_compact_reduce_ma;
+    } compact_reduce_ma_choice_value;
+    kal_uint8 egprs_ch_coding_cmd; /* EGPRS channel coding command*/
+    kal_uint8 resegment; /* resegment*/
+    kal_uint8 window_size; /* EGPRS window size*/
+    
+/* Claire 041123 change : Correct egprsuplnk_assign_struct pack unpack bug */
+   ispresent ch1_tag;
+    union {
+        rmc_access_tech_req_struct access_tech_req;
+    } ch1_value;
+    kal_uint8 arac_retxn_req;
+/* End Claire 041123 change : Correct egprsuplnk_assign_struct pack unpack bug */    
+
+    kal_uint8 tlli_blk_ch_coding; /* TLLI block channel coding*/
+    ispresent bep_period_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period_choice_value;
+    pkt_timing_advance_struct pkt_timing_advance; /* TIME ADV STRUCT*/
+    ispresent ext_time_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timing_advance;
+    } ext_time_adv_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    challoc_enum alloc_type_choice_tag;
+    union {
+        dynamic_alloc_struct dynamic_alloc;
+/* Claire 041123 new : Add for decoding Multi Block Allocation struct in PUAS */
+        //single_blk_alloc_struct single_blk_alloc;
+        multi_blk_alloc_struct multi_blk_alloc;
+        fixed_alloc_struct fixed_alloc;
+    } alloc_type_choice_value;
+/* Evelyn 20090415: Merge R6 */
+} egprsuplnk_assign_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_id_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+        kal_uint16 tqi;
+        pkt_req_ref_struct pkt_req_ref;
+    } ms_id_choice_value;
+    ispresent up_link_assgn_choice_tag;
+    union {
+        gprsuplnk_assign_struct a_gprs_up_lnk_assign;
+        egprsuplnk_assign_struct p_egprs_up_lnk_assign;
+    } up_link_assgn_choice_value;
+} pkt_uplink_assignment_msg;
+#else /* -------------------GPRS MODE-------------------------------*/
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_id_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+        kal_uint16 tqi;
+        pkt_req_ref_struct pkt_req_ref;
+    } ms_id_choice_value;
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    gprsuplnk_assign_struct gprs_up_lnk_assign; /* GPRS uplink assignment*/
+} pkt_uplink_assignment_msg;
+#endif
+
+typedef struct {
+    starting_frame_num_struct measurement_start_time; /* startframe structure*/
+    kal_uint8 measurement_interval; /* MEASUREMENT INTERVAL*/
+    kal_uint8 measurement_bitmap; /* MEASUREMENT BIT MAP*/
+} meas_map_peer_struct;
+
+/* Evelyn 20090415: Merge R6 */
+
+#ifdef __EGPRS_MODE__
+typedef struct {
+    kal_uint8 window_size; /* EGPRS window size*/
+    kal_uint8 link_quality_meas_mode; /* link quality measurement mode*/
+    ispresent bep_period_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period_choice_value;
+} egprsws_link_quality;
+
+typedef struct {
+    ispresent egprs_ws_link_quality_choice_tag;
+    union {
+        egprsws_link_quality p_egprs_ws_link_quality;
+    } egprs_ws_link_quality_choice_value;
+} egprsdl_assign_additions_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_add_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+    } ms_add_choice_value;
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    kal_uint8 mac_mode; /* MAC MODE*/
+    kal_uint8 rlc_mode; /* RLC MODE*/
+    kal_uint8 ctrl_ack; /* CONTROL ACK*/
+    kal_uint8 time_slotalloc; /* TIMESLOT ALLOCATION*/
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent down_link_tfi_choice_tag;
+    union {
+        kal_uint8 p_down_link_tfi_assign;
+    } down_link_tfi_choice_value;
+    ispresent pwr_ctrl_param_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_power_ctrl_param_value;
+    } pwr_ctrl_param_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent meas_map_choice_tag;
+    union {
+        meas_map_peer_struct p_measurement_map;
+    } meas_map_choice_value;
+    ispresent rel99choice_tag;
+    union {
+        egprsdl_assign_additions_struct p_rel99;
+    } rel99choice_value;
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+/* Evelyn 20090415: Merge R6 */
+} pkt_downlink_assign;
+#else
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent per_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } per_level_choice_value;
+    msid_enum ms_add_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+    } ms_add_choice_value;
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    kal_uint8 mac_mode; /* MAC MODE*/
+    kal_uint8 rlc_mode; /* RLC MODE*/
+    kal_uint8 ctrl_ack; /* CONTROL ACK*/
+    kal_uint8 time_slotalloc; /* TIMESLOT ALLOCATION*/
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent down_link_tfi_choice_tag;
+    union {
+        kal_uint8 p_down_link_tfi_assign;
+    } down_link_tfi_choice_value;
+    ispresent pwr_ctrl_param_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_power_ctrl_param_value;
+    } pwr_ctrl_param_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent meas_map_choice_tag;
+    union {
+        meas_map_peer_struct p_measurement_map;
+    } meas_map_choice_value;
+/* Evelyn 20090415: Merge R6 */
+    kal_uint8 egprsescape; /* ESCAPTE COMPACT Reduced MA*/
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timng_adv;
+    } extend_timing_adv_choice_value;
+} pkt_downlink_assign;
+#endif
+
+typedef struct {
+    kal_uint8 wait_indication;
+    kal_uint8 wait_indication_size;
+} wait_struct;
+
+typedef struct {
+    add_enum ms_id_choice_tag;
+    union {
+        kal_uint32 tlli;
+        pkt_req_ref_struct pkt_req_ref;
+        global_tfistruct global_tfi;
+    } ms_id_choice_value;
+    ispresent wait_ind_choice_tag;
+    union {
+        wait_struct p_wait_ind_val;
+    } wait_ind_choice_value;
+} reject_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msg_type; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    reject_struct reject; /* REJECT STRUCTURE*/
+    unsigned int no_additional_reject;
+    unsigned int additional_reject_size;
+    reject_struct *additional_reject;
+} packet_access_reject;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    msid_enum pkt_req_ref_choice_tag;
+    union {
+        pkt_req_ref_struct packet_request_ref;
+    } pkt_req_ref_choice_value;
+    kal_uint16 tqi; /* TQI*/
+} packet_queing_notification;
+
+typedef struct {
+    starting_frame_num_struct tbf_starting; /* TBF STARTING TIME*/
+    ispresent time_slot_choice_tag;
+    union {
+        kal_uint8 p_time_slot_alloc;
+    } time_slot_choice_value;
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    alloc_struct alloc_bit_map; /* ALLOCATION BITMAP*/
+} alloc_bitmap_struct;
+
+typedef struct {
+    kal_uint8 final_alloc; /* FINAL ALLOCATION*/
+    ispresent repeat_alloc_choice_tag;
+    union {
+        kal_uint8 a_ts_over_ride;
+        alloc_bitmap_struct p_alloc_bitmap;
+    } repeat_alloc_choice_value;
+} ack_nack_fixed_alloc_struct;
+
+typedef struct {
+    kal_uint8 ch_coding_cmd; /* CHCODINGCMD*/
+    ack_nack_desc_struct ack_nack_descrp; /* ACKNACKDESC*/
+    ispresent cont_res_tlli_choice_tag;
+    union {
+        kal_uint32 p_cont_resolution_tlli;
+    } cont_res_tlli_choice_value;
+    ispresent pkt_timing_adv_choice_tag;
+    union {
+        pkt_timing_advance_struct p_pkt_timing_adv_value;
+    } pkt_timing_adv_choice_value;
+    ispresent pwr_ctrl_params_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_pwr_ctrl_param_value;
+    } pwr_ctrl_params_choice_value;
+    ispresent extend_bits_choice_tag;
+    union {
+        extension_bit_struct p_ext_bits_value;
+    } extend_bits_choice_value;
+    ispresent fixed_alloc_choice_tag;
+    union {
+        ack_nack_fixed_alloc_struct p_fixed_alloc_params;
+    } fixed_alloc_choice_value;
+
+    ispresent rel99choice_tag;
+    union {
+        extend_timing_adv_struct p_rel99;
+    } rel99choice_value;
+    kal_uint8 tbf_est; /* TBF_EST */
+} gprsuplnk_ack_nack_struct;
+
+#ifdef __EGPRS_MODE__
+
+typedef struct {
+    kal_uint8 msgescape1; /* message ESCAPE*/
+    kal_uint8 egprs_ch_coding_cmd; /* EGPRS channel coding command*/
+    kal_uint8 resegment; /* resegment*/
+    kal_uint8 pre_emptive_txn; /* pre emptive transmission*/
+    /* Claire 041104 change : Correct egprsuplnk_ack_nack_struct pack unpack bug */
+    kal_uint8 prr_retxn_req;
+    kal_uint8 arac_retxn_req;
+    /* End Claire 041104 change : Correct egprsuplnk_ack_nack_struct pack unpack bug */
+    ispresent cont_res_tlli_choice_tag;
+    union {
+        kal_uint32 p_cont_res_tlli;
+    } cont_res_tlli_choice_value;
+    /* Claire 041104 change : Correct egprsuplnk_ack_nack_struct pack unpack bug */
+    kal_uint8 tbf_est;
+    /* End Claire 041104 change : Correct egprsuplnk_ack_nack_struct pack unpack bug */    
+    ispresent pkt_timing_adv_choice_tag;
+    union {
+        pkt_timing_advance_struct p_pkt_timing_advance;
+    } pkt_timing_adv_choice_value;
+    ispresent extend_timing_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_timing_advance;
+    } extend_timing_adv_choice_value;
+    ispresent pwr_ctrl_params_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_pwr_ctrl_params_value;
+    } pwr_ctrl_params_choice_value;
+    ispresent extend_bits_choice_tag;
+    union {
+        extension_bit_struct p_ext_bits_value;
+    } extend_bits_choice_value;
+    egprsack_nack_description_struct egprs_ack_nack_desc_struct;
+    ispresent fixed_alloc_choice_tag;
+    union {
+        ack_nack_fixed_alloc_struct p_fixed_allocation;
+    } fixed_alloc_choice_value;
+} egprsuplnk_ack_nack_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGEMODE*/
+    kal_uint8 msgescape1; /* message ESCAPE*/
+    kal_uint8 up_link_tfi; /* UPLINKTFI*/
+    ispresent gprs_ul_ack_nack_choice_tag;
+    union {
+        gprsuplnk_ack_nack_struct a_gprs_up_lnk_ack_nack;
+        egprsuplnk_ack_nack_struct p_egprs_up_lnk_ack_nack;
+    } gprs_ul_ack_nack_choice_value;
+} pkt_uplink_ack_nack;
+
+#else
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGEMODE*/
+    kal_uint8 msgescape1; /* message ESCAPE*/
+    kal_uint8 up_link_tfi; /* UPLINKTFI*/
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    gprsuplnk_ack_nack_struct gprs_up_lnk_ack_nack; /* GPRS uplink ack/nack*/
+} pkt_uplink_ack_nack;
+#endif
+
+typedef struct {
+    kal_uint8 timing_adv_index; /* UP LINK TIM ADV INDEX*/
+    kal_uint8 timing_adv_ts_number; /* TIMING ADV TIMESLOT NUM*/
+} timing_adv_index_tn_struct;
+
+typedef struct {
+    ispresent timing_adv_choice_tag;
+    union {
+        kal_uint8 p_timing_adv_val;
+    } timing_adv_choice_value;
+    ispresent ul_timing_adv_index_tn_choice_tag;
+    union {
+        timing_adv_index_tn_struct p_ul_timing_adv_index_tn;
+    } ul_timing_adv_index_tn_choice_value;
+    ispresent dl_timing_adv_index_tn_choice_tag;
+    union {
+        timing_adv_index_tn_struct p_dl_timing_adv_index_tn;
+    } dl_timing_adv_index_tn_choice_value;
+} global_pkt_tim_adv_struct;
+
+typedef struct {
+    kal_uint8 alpha; /* ALPHA*/
+    kal_uint8 tavgw; /* T_AVG_W*/
+    kal_uint8 tavgt; /* T_AVG_T*/
+    kal_uint8 pb; /* PB*/
+    kal_uint8 pc_meas_chan; /* PC MEAS CHAN*/
+    kal_uint8 int_meas_ch_list; /* INT MEAS CHAN LIST AVAIL*/
+    kal_uint8 navgi; /* N_AVG_I*/
+} global_pwr_ctrl_params_struct;
+
+typedef struct {
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GPKTTIMSTRUCT*/
+    pwr_ctrl_params_peer_struct pwr_ctrl_params; /* PWRCONPARASTRUCT*/
+} global_pwr_ctrl_pkt_tim_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    msid1_enum tqi_tfi_choice_tag;
+    union {
+        global_tfistruct a_global_tfi;
+        kal_uint16 a_tqi;
+        pkt_req_ref_struct a_pkt_req_ref;
+    } tqi_tfi_choice_value;
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    ispresent gpwr_ctrlparams_choice_tag;
+    union {
+        global_pwr_ctrl_params_struct p_glo_pwr_ctrl_params;
+    } gpwr_ctrlparams_choice_value;
+    add_enum gpwr_ctrl_pkt_tim_choice_tag;
+    union {
+        global_pwr_ctrl_pkt_tim_struct gpwr_ctrl_pkt_timing;
+        global_pkt_tim_adv_struct g_pkt_tim_adv_params;
+        pwr_ctrl_params_peer_struct pwr_ctrl_params;
+    } gpwr_ctrl_pkt_tim_choice_value;
+} pkt_pwr_ctrl_tim_adv_struct;
+
+typedef struct {
+    kal_uint8 extended_dyn_alloc; /* EXT DYNAMIC ALLOCATION*/
+    ispresent p0pr_mode_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_mode_choice_value;
+    kal_uint8 usf_granularity; /* USF GRANULARITY*/
+    ispresent rlc_blks_granted_choice_tag;
+    union {
+        kal_uint8 p_rlc_blks_granted;
+    } rlc_blks_granted_choice_value;
+    ispresent tbf_starting_time_choice_tag;
+    union {
+        starting_frame_num_struct p_tbf_starting_time;
+    } tbf_starting_time_choice_value;
+    ispresent time_slot_pwr_ctrl_choice_tag;
+    union {
+        time_slot_alloc_struct a_time_slot_alloc;
+        time_slot_pwr_ctrl_alloc_struct p_time_slot_alloc;
+    } time_slot_pwr_ctrl_choice_value;
+} ts_reconfig_dynamic_alloc_struct;
+
+typedef struct {
+    ispresent pwr_ctrl_time_slot_choice_tag;
+    union {
+        kal_uint8 a_time_slot_allocation;
+        pwr_ctrl_params_peer_struct p_pwr_ctrl_params;
+    } pwr_ctrl_time_slot_choice_value;
+    kal_uint8 final_allocation; /* FINAL ALLOCATION*/
+    kal_uint8 down_link_ctrl_time_slot; /* DOWN LINK CONTROL TIME SLOT*/
+    ispresent pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent meas_map_choice_tag;
+    union {
+        meas_map_peer_struct p_meas_map;
+    } meas_map_choice_value;
+    starting_frame_num_struct tbf_starting_time; /* TBF START TIME STRUCTURE*/
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    alloc_struct alloc_bit_map; /* ALLOCATION BITMAP*/
+} ts_reconfig_fixed_alloc_struct;
+/* Evelyn 20090415: Merge R6 */
+
+typedef struct {
+    kal_uint8 ch_coding_cmd; /* CHANNEL CODING COMMAND*/
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GLOBAL PACKET TIMING ADVANCE*/
+    kal_uint8 dl_rlc_mode; /* DOWN LINK RLC MODE*/
+    kal_uint8 ctrl_ack; /* CONTROL ACKNOWLEDGE*/
+    ispresent dl_tfi_assgn_choice_tag;
+    union {
+        kal_uint8 p_dl_tfi;
+    } dl_tfi_assgn_choice_value;
+    ispresent ul_tfi_assgn_choice_tag;
+    union {
+        kal_uint8 p_ul_tfi;
+    } ul_tfi_assgn_choice_value;
+    kal_uint8 dl_timeslot_alloc; /* DOWNLINK ALLOCATION*/
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent alloc_type_choice_tag;
+    union {
+        ts_reconfig_dynamic_alloc_struct dynamic_alloc;
+        ts_reconfig_fixed_alloc_struct fixed_alloc;
+    } alloc_type_choice_value;
+/* Evelyn 20090415: Merge R6 */
+    ispresent rel99choice_tag;
+    union {
+        extend_timing_adv_struct p_rel99;
+    } rel99choice_value;
+} gprs_timeslot_reconfig;
+
+#ifdef __EGPRS_MODE__
+
+typedef struct {
+    kal_uint8 msgescape1; /* MESSAGE ESCAPE*/
+    ispresent compact_choice_tag;
+    union {
+        kal_uint8 p_compact_reduced_ma;
+    } compact_choice_value;
+    kal_uint8 ch_coding_cmd; /* EGPRS CHANNEL CODING COMMAND*/
+    kal_uint8 resegment; /* RESEGMENT*/
+    /* Claire 041110 change : Solve egprs_timeslot_reconfig bug */
+    ispresent dl_egprs_window_size_tag;
+    union {
+        kal_uint8 p_dl_egprs_window_size;
+    } dl_egprs_window_size_value;
+    ispresent ul_egprs_window_size_tag;
+    union {
+        kal_uint8 p_ul_egprs_window_size;
+    } ul_egprs_window_size_value;
+    /* End Claire 041110 change : Solve egprs_timeslot_reconfig bug */
+    
+    kal_uint8 lnk_quality_meas_mode; /* LINK QUALITY MEASUREMENT MODE*/
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GLOBAL PACKET TIMING ADVANCE*/
+    ispresent extend_tim_adv_choice_tag;
+    union {
+        kal_uint8 pextend_tim_adv;
+    } extend_tim_adv_choice_value;
+    kal_uint8 dl_rlc_mode; /* DOWNLINK RLC MODE*/
+    kal_uint8 control_ack; /* CONTROL ACK*/
+    ispresent dl_tfi_assgn_tag;
+    union {
+        kal_uint8 p_dl_tfi_assgn;
+    } dl_tfi_assgn_value;
+    ispresent ul_tfi_assgn_tag;
+    union {
+        kal_uint8 p_ul_tfi_assgn;
+    } ul_tfi_assgn_value;
+    kal_uint8 dl_timeslot_alloc; /* DL TIMESLOT ALLOCATION*/
+    ispresent freq_params_choice_tag;
+    union {
+        freq_params_peer_struct p_freq_params;
+    } freq_params_choice_value;
+    ispresent alloc_choice_tag;
+    union {
+        ts_reconfig_dynamic_alloc_struct a_dynamic_alloc;
+        ts_reconfig_fixed_alloc_struct p_fixed_alloc;
+    } alloc_choice_value;
+/* Evelyn 20090415: Merge R6 */
+} egprs_timeslot_reconfig;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGEMODE*/
+    ispresent global_tfi_tag;
+    union {
+        global_tfistruct global_tfi;
+    } global_tfi_value;
+    ispresent gprs_choice_tag;
+    union {
+        gprs_timeslot_reconfig a_gprs_timeslot_reconfig;
+        egprs_timeslot_reconfig p_egprs_timeslot_reconfig;
+    } gprs_choice_value;
+} pkt_timeslot_reconfigure;
+#else
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGEMODE*/
+    ispresent global_tfi_tag;
+    union {
+        global_tfistruct global_tfi;
+    } global_tfi_value;
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    gprs_timeslot_reconfig gprs_timeslot_reconfig_inst; /* TIMESLOT RECONFIG STRUCTURE*/
+} pkt_timeslot_reconfigure;
+#endif
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    msid_enum ms_id_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+        kal_uint16 tqi;
+    } ms_id_choice_value;
+    kal_uint8 typeof_ack; /* TYPE_OF_ACK*/
+} packet_polling_request;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer.h
new file mode 100644
index 0000000..53e9a9b
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer.h
@@ -0,0 +1,130 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_peer.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _GPRS_RLCMAC_PEER_H_
+#define _GPRS_RLCMAC_PEER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_gprs_rlcmac_peer.h"
+#include "get_gprs_rlcmac_peer.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_pun.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_pun.h
new file mode 100644
index 0000000..ac2ea91
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_pun.h
@@ -0,0 +1,369 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_peer_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_peer_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _GPRS_RLCMAC_PEER_PUN_H
+#define _GPRS_RLCMAC_PEER_PUN_H
+
+#define access_tech_struct_size(x) 1
+IMP unsigned int access_tech_struct_bits(void *);
+IMP void access_tech_struct_alloc(void *);
+IMP void access_tech_struct_dealloc(void *);
+IMP unsigned int access_tech_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int access_tech_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int access_tech_list_bits(void *);
+IMP void access_tech_list_alloc(void *);
+IMP void access_tech_list_dealloc(void *);
+IMP unsigned int access_tech_list_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int access_tech_list_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_downlink_dummy_ctrl_blk_bits(void *);
+IMP void pkt_downlink_dummy_ctrl_blk_alloc(void *);
+IMP void pkt_downlink_dummy_ctrl_blk_dealloc(void *);
+IMP unsigned int pkt_downlink_dummy_ctrl_blk_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_downlink_dummy_ctrl_blk_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int packet_pdchrelease_bits(void *);
+IMP void packet_pdchrelease_alloc(void *);
+IMP void packet_pdchrelease_dealloc(void *);
+IMP unsigned int packet_pdchrelease_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int packet_pdchrelease_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_mobile_tbfstatus_bits(void *);
+IMP void pkt_mobile_tbfstatus_alloc(void *);
+IMP void pkt_mobile_tbfstatus_dealloc(void *);
+IMP unsigned int pkt_mobile_tbfstatus_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_mobile_tbfstatus_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_ctrl_ack_struct_bits(void *);
+IMP void pkt_ctrl_ack_struct_alloc(void *);
+IMP void pkt_ctrl_ack_struct_dealloc(void *);
+IMP unsigned int pkt_ctrl_ack_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_ctrl_ack_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_uplink_dummy_bits(void *);
+IMP void pkt_uplink_dummy_alloc(void *);
+IMP void pkt_uplink_dummy_dealloc(void *);
+IMP unsigned int pkt_uplink_dummy_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_uplink_dummy_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int prach_ctrl_params_struct_bits(void *);
+IMP void prach_ctrl_params_struct_alloc(void *);
+IMP void prach_ctrl_params_struct_dealloc(void *);
+IMP unsigned int prach_ctrl_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int prach_ctrl_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_prach_params_struct_bits(void *);
+IMP void pkt_prach_params_struct_alloc(void *);
+IMP void pkt_prach_params_struct_dealloc(void *);
+IMP unsigned int pkt_prach_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_prach_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_tbfrelease_struct_bits(void *);
+IMP void pkt_tbfrelease_struct_alloc(void *);
+IMP void pkt_tbfrelease_struct_dealloc(void *);
+IMP unsigned int pkt_tbfrelease_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_tbfrelease_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprsmulslot1struct_size(x) 2
+IMP unsigned int gprsmulslot1struct_bits(void *);
+IMP void gprsmulslot1struct_alloc(void *);
+IMP void gprsmulslot1struct_dealloc(void *);
+IMP unsigned int gprsmulslot1struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmulslot1struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprsmulslot_struct_size(x) 1
+IMP unsigned int gprsmulslot_struct_bits(void *);
+IMP void gprsmulslot_struct_alloc(void *);
+IMP void gprsmulslot_struct_dealloc(void *);
+IMP unsigned int gprsmulslot_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmulslot_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int multi_cap_struct_bits(void *);
+IMP void multi_cap_struct_alloc(void *);
+IMP void multi_cap_struct_dealloc(void *);
+IMP unsigned int multi_cap_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int multi_cap_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define ms_meas_cap_struct_size(x) 1
+IMP unsigned int ms_meas_cap_struct_bits(void *);
+IMP void ms_meas_cap_struct_alloc(void *);
+IMP void ms_meas_cap_struct_dealloc(void *);
+IMP unsigned int ms_meas_cap_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ms_meas_cap_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int paccess_tech_struct_bits(void *);
+IMP void paccess_tech_struct_alloc(void *);
+IMP void paccess_tech_struct_dealloc(void *);
+IMP unsigned int paccess_tech_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int paccess_tech_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int eaccess_tech_struct_bits(void *);
+IMP void eaccess_tech_struct_alloc(void *);
+IMP void eaccess_tech_struct_dealloc(void *);
+IMP unsigned int eaccess_tech_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int eaccess_tech_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int raccess_tech_struct_bits(void *);
+IMP void raccess_tech_struct_alloc(void *);
+IMP void raccess_tech_struct_dealloc(void *);
+IMP unsigned int raccess_tech_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int raccess_tech_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int aaccess_tech_struct_bits(void *);
+IMP void aaccess_tech_struct_alloc(void *);
+IMP void aaccess_tech_struct_dealloc(void *);
+IMP unsigned int aaccess_tech_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int aaccess_tech_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ms_racapability_struct_bits(void *);
+IMP void ms_racapability_struct_alloc(void *);
+IMP void ms_racapability_struct_dealloc(void *);
+IMP unsigned int ms_racapability_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ms_racapability_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ms_radio_cap_struct_bits(void *);
+IMP void ms_radio_cap_struct_alloc(void *);
+IMP void ms_radio_cap_struct_dealloc(void *);
+IMP unsigned int ms_radio_cap_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ms_radio_cap_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_resource_request_struct_bits(void *);
+IMP void pkt_resource_request_struct_alloc(void *);
+IMP void pkt_resource_request_struct_dealloc(void *);
+IMP unsigned int pkt_resource_request_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_resource_request_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define nc_list_struct_size(x) 2
+IMP unsigned int nc_list_struct_bits(void *);
+IMP void nc_list_struct_alloc(void *);
+IMP void nc_list_struct_dealloc(void *);
+IMP unsigned int nc_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nc_freq_list_struct_bits(void *);
+IMP void nc_freq_list_struct_alloc(void *);
+IMP void nc_freq_list_struct_dealloc(void *);
+IMP unsigned int nc_freq_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_freq_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nc_meas_params_struct_bits(void *);
+IMP void nc_meas_params_struct_alloc(void *);
+IMP void nc_meas_params_struct_dealloc(void *);
+IMP unsigned int nc_meas_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_meas_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int int_freq_list_struct_bits(void *);
+IMP void int_freq_list_struct_alloc(void *);
+IMP void int_freq_list_struct_dealloc(void *);
+IMP unsigned int int_freq_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int int_freq_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ncc_or_freq_struct_bits(void *);
+IMP void ncc_or_freq_struct_alloc(void *);
+IMP void ncc_or_freq_struct_dealloc(void *);
+IMP unsigned int ncc_or_freq_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ncc_or_freq_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int em1struct_bits(void *);
+IMP void em1struct_alloc(void *);
+IMP void em1struct_dealloc(void *);
+IMP unsigned int em1struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int em1struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ext_meas_params_struct_bits(void *);
+IMP void ext_meas_params_struct_alloc(void *);
+IMP void ext_meas_params_struct_dealloc(void *);
+IMP unsigned int ext_meas_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ext_meas_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int measurement_peer_struct_bits(void *);
+IMP void measurement_peer_struct_alloc(void *);
+IMP void measurement_peer_struct_dealloc(void *);
+IMP unsigned int measurement_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int measurement_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_measurement_order_struct_bits(void *);
+IMP void pkt_measurement_order_struct_alloc(void *);
+IMP void pkt_measurement_order_struct_dealloc(void *);
+IMP unsigned int pkt_measurement_order_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_measurement_order_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_cell_change_order_bits(void *);
+IMP void pkt_cell_change_order_alloc(void *);
+IMP void pkt_cell_change_order_dealloc(void *);
+IMP unsigned int pkt_cell_change_order_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_cell_change_order_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mobile_idstruct_bits(void *);
+IMP void mobile_idstruct_alloc(void *);
+IMP void mobile_idstruct_dealloc(void *);
+IMP unsigned int mobile_idstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mobile_idstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ptmsistruct_bits(void *);
+IMP void ptmsistruct_alloc(void *);
+IMP void ptmsistruct_dealloc(void *);
+IMP unsigned int ptmsistruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ptmsistruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int tmsistruct_bits(void *);
+IMP void tmsistruct_alloc(void *);
+IMP void tmsistruct_dealloc(void *);
+IMP unsigned int tmsistruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int tmsistruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int repeated_page_info_struct_bits(void *);
+IMP void repeated_page_info_struct_alloc(void *);
+IMP void repeated_page_info_struct_dealloc(void *);
+IMP unsigned int repeated_page_info_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int repeated_page_info_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int packet_paging_request_bits(void *);
+IMP void packet_paging_request_alloc(void *);
+IMP void packet_paging_request_dealloc(void *);
+IMP unsigned int packet_paging_request_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int packet_paging_request_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pdu_descript_struct_size(x) 2
+IMP unsigned int pdu_descript_struct_bits(void *);
+IMP void pdu_descript_struct_alloc(void *);
+IMP void pdu_descript_struct_dealloc(void *);
+IMP unsigned int pdu_descript_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pdu_descript_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define mode_flag_struct_size(x) 1
+IMP unsigned int mode_flag_struct_bits(void *);
+IMP void mode_flag_struct_alloc(void *);
+IMP void mode_flag_struct_dealloc(void *);
+IMP unsigned int mode_flag_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mode_flag_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprs_test_mode_cmd_struct_size(x) 5
+IMP unsigned int gprs_test_mode_cmd_struct_bits(void *);
+IMP void gprs_test_mode_cmd_struct_alloc(void *);
+IMP void gprs_test_mode_cmd_struct_dealloc(void *);
+IMP unsigned int gprs_test_mode_cmd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_test_mode_cmd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_struct.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_struct.h
new file mode 100644
index 0000000..b0e2fad
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_peer_struct.h
@@ -0,0 +1,524 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_peer_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_peer_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _GPRS_RLCMAC_PEER_STRUCT_H
+#define _GPRS_RLCMAC_PEER_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "gprs_rlcmac_common_struct.h"
+#include "rr_common_def.h"
+#include "gprs_rlcmac_dl_struct.h"
+#include "gprs_rlcmac_ul_struct.h"
+#include "nstd_pmo_struct.h"
+
+typedef struct {
+    kal_uint8 acc_tech_type; /* access tech. type*/
+} access_tech_struct;
+
+typedef struct {
+    unsigned int no_acc_tech_list;
+    unsigned int acc_tech_list_size;
+    access_tech_struct *acc_tech_list;
+} access_tech_list;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent persist_level_choice_tag;
+    union {
+        persist_level_struct p_persistence_level;
+    } persist_level_choice_value;
+} pkt_downlink_dummy_ctrl_blk;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent time_slot_alloc_choice_tag;
+    union {
+        kal_uint8 p_time_slot_alloted;
+    } time_slot_alloc_choice_value;
+} packet_pdchrelease;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    global_tfistruct global_tfi; /* GLOBAL TFI STRUCT*/
+    kal_uint8 tbf_cause; /* TBF CAUSE*/
+    ispresent status_choice_tag;
+    union {
+        kal_uint8 p_status_msg_type;
+    } status_choice_value;
+} pkt_mobile_tbfstatus;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint32 tlli; /* TLLI*/
+    kal_uint8 ctrlack; /* CTRL-ACK*/
+} pkt_ctrl_ack_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint32 tlli; /* TLLI*/
+} pkt_uplink_dummy;
+
+typedef struct {
+    kal_uint16 access_ctrl_class; /* ACC CONTROL CLASS*/
+    kal_uint8 max_retrans[4];
+    kal_uint8 s; /* S */
+    kal_uint8 tx_int; /* TX INT*/
+    ispresent persist_level_choice_tag;
+    union {
+        persist_level_struct p_persist_level;
+    } persist_level_choice_value;
+} prach_ctrl_params_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    prach_ctrl_params_struct prach_ctrl_params; /* PRACHCONTPARASTRUCT*/
+} pkt_prach_params_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    kal_uint8 msg_escape; /* ESCAPE SEQ*/
+    global_tfistruct global_tfi; /* GLOBAL TFI STRUCT*/
+    kal_uint8 up_link_release; /* UP LINK RELEASE*/
+    kal_uint8 dn_link_release; /* DN LINK RELEASE*/
+    kal_uint8 tbf_release_cause; /* TBF RELEASE*/
+} pkt_tbfrelease_struct;
+
+typedef struct {
+    kal_uint8 multi_slot; /* MULTI SLOT CLASS*/
+    kal_uint8 gprs_mul_slot_class; /* GPRS MULTI SLOT CLASS*/
+    kal_uint8 ext_dyna_capability; /* EXTENDED DYNAMIC CAPABILITY*/
+} gprsmulslot1struct;
+
+typedef struct {
+    kal_uint8 mul_slot; /* MULTI SLOT CLASS*/
+    kal_uint8 ext_dyn_capability; /* EXTENDED DYNAMIC CAPABILITY*/
+} gprsmulslot_struct;
+
+typedef struct {
+    freq_enum multi_slot_choice_tag;
+    union {
+        gprsmulslot_struct gprs_mul_slot;
+        kal_uint8 mul_slot_class;
+        gprsmulslot1struct gprs_mul_slot1;
+    } multi_slot_choice_value;
+} multi_cap_struct;
+
+#ifndef _MS_MEAS_CAP_STRUCT
+#define _MS_MEAS_CAP_STRUCT
+typedef struct {
+    kal_uint8 sms_value; /* SMS VALUE*/
+    kal_uint8 sm_value; /* SM VALUE*/
+} ms_meas_cap_struct;
+#endif
+
+typedef struct {
+    kal_uint8 p_type_len;
+    kal_uint8 p_pseudosynch; /* PSEUDO SYCHRONISATION*/
+    kal_uint8 p_cipher_algo5;
+    kal_uint8 p_voice_grp_call_serv; /* VOICE GROUP CALL SERVICE*/
+    kal_uint8 p_voice_broad_cast_serv; /* VOICE BROADCAST SERVICE*/
+    kal_uint8 p_pwr_capability; /* POWER CAPABILITY*/
+    ms_meas_cap_struct p_ms_meas_capability; /* MS MEASUREMENT CAPABILITY*/
+    kal_uint8 p_rev_level; /* GSM REVISION LEVEL*/
+    kal_uint8 p_es_ind; /* ES IND*/
+    multi_cap_struct p_multi_capability; /* MULTI SLOT CAPABILITY*/
+} paccess_tech_struct;
+
+typedef struct {
+    kal_uint8 e_type_len;
+    kal_uint8 e_pseudo_synch; /* PSEUDO SYCHRONISATION*/
+    kal_uint8 e_cipher_algo5;
+    kal_uint8 e_voice_grp_call_serv; /* VOICE GROUP CALL SERVICE*/
+    kal_uint8 e_voice_broad_cast_serv; /* VOICE BROADCAST SERVICE*/
+    kal_uint8 e_pwr_capability; /* POWER CAPABILITY*/
+    ms_meas_cap_struct e_ms_meascapability; /* MS MEASUREMENT CAPABILITY*/
+    kal_uint8 e_rev_level; /* GSM REVISION LEVEL*/
+    kal_uint8 e_es_ind; /* ES IND*/
+    multi_cap_struct e_multi_capability; /* MULTI SLOT CAPABILITY*/
+} eaccess_tech_struct;
+
+typedef struct {
+    kal_uint8 r_type_len;
+    kal_uint8 r_pseudo_synch; /* PSEUDO SYCHRONISATION*/
+    kal_uint8 r_cipher_algo5;
+    kal_uint8 r_voice_grp_call_serv; /* VOICE GROUP CALL SERVICE*/
+    kal_uint8 r_voice_broad_cast_serv; /* VOICE BROADCAST SERVICE*/
+    kal_uint8 r_pwr_capability; /* POWER CAPABILITY*/
+    ms_meas_cap_struct r_ms_meascapability; /* MS MEASUREMENT CAPABILITY*/
+    kal_uint8 r_rev_level; /* GSM REVISION LEVEL*/
+    kal_uint8 r_es_ind; /* ES IND*/
+    multi_cap_struct r_multi_capability; /* MULTI SLOT CAPABILITY*/
+} raccess_tech_struct;
+
+typedef struct {
+    kal_uint8 a_type_len;
+    kal_uint8 a_pseudo_synch; /* PSEUDO SYCHRONISATION*/
+    kal_uint8 a_cipher_algo5;
+    kal_uint8 a_voice_grp_call_serv; /* VOICE GROUP CALL SERVICE*/
+    kal_uint8 a_voice_broad_cast_serv; /* VOICE BROADCAST SERVICE*/
+    kal_uint8 a_pwr_capability; /* POWER CAPABILITY*/
+    ms_meas_cap_struct a_ms_meas_cap_struct; /* MS MEASUREMENT CAPABILITY*/
+    kal_uint8 a_ms_meascapability; /* GSM REVISION LEVEL*/
+    kal_uint8 a_rev_level; /* REVISION LEVEL*/
+    kal_uint8 a_es_ind; /* ES IND*/
+    multi_cap_struct a_multi_capability; /* MULTI SLOT CAPABILITY*/
+} aaccess_tech_struct;
+
+typedef struct {
+    ispresent p_access_choice_tag;
+    union {
+        paccess_tech_struct p_paccess;
+    } p_access_choice_value;
+    ispresent e_access_choice_tag;
+    union {
+        eaccess_tech_struct p_eaccess;
+    } e_access_choice_value;
+    ispresent r_access_choice_tag;
+    union {
+        raccess_tech_struct p_raccess;
+    } r_access_choice_value;
+    ispresent a_access_short_tag;
+    union {
+        aaccess_tech_struct p_aaccess;
+    } a_access_short_value;
+} ms_racapability_struct;
+
+typedef struct {
+    kal_uint8 access_cap_iei; /* MS RADIO CAPABILITY IEI*/
+    kal_uint8 length;
+    ms_racapability_struct ms_racapability;
+} ms_radio_cap_struct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    ispresent access_type_choice_tag;
+    union {
+        kal_uint8 p_bacctype;
+    } access_type_choice_value;
+    ispresent tlli_tfi_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+    } tlli_tfi_choice_value;
+    ispresent ms_radio_cap_choice_tag;
+    union {
+        ms_radio_cap_struct p_msradio_cap;
+    } ms_radio_cap_choice_value;
+    ch_request_desc_struct channel_req; /* CHANNEL REQUEST DESCRIPTION */
+    ispresent chng_mark_choice_tag;
+    union {
+        kal_uint8 p_chng_mark;
+    } chng_mark_choice_value;
+    kal_uint8 cvalue; /* C VALUE*/
+    ispresent sigvar_choice_tag;
+    union {
+        kal_uint8 p_signvar;
+    } sigvar_choice_value;
+    ilevel_tn_struct i_level_tn_values[8];
+} pkt_resource_request_struct;
+
+typedef struct {
+    kal_uint8 nc_non_drx_period;
+    kal_uint8 nc_rep_perioid_i;
+    kal_uint8 nc_rep_period_t;
+} nc_list_struct;
+
+typedef struct {
+    ispresent rmvd_freq_choice_tag;
+    union {
+        rmvd_freq_list_struct p_rmvd_freq_list;
+    } rmvd_freq_choice_value;
+    unsigned int no_add_freq_list;
+    unsigned int add_freq_list_size;
+    add_freq_struct *add_freq_list;
+} nc_freq_list_struct;
+
+typedef struct {
+    kal_uint8 nw_ctrl_order; /* NETWORK CONTROL ORDER*/
+    ispresent nc_list_choice_tag;
+    union {
+        nc_list_struct p_nc_list;
+    } nc_list_choice_value;
+    ispresent nc_freq_list_choice_tag;
+    union {
+        nc_freq_list_struct p_nc_freq_list;
+    } nc_freq_list_choice_value;
+} nc_meas_params_struct;
+
+typedef struct {
+    ispresent ch227_tag;
+    union {
+        kal_uint8 pintfreqlist;
+    } ch227_value;
+} int_freq_list_struct;
+
+typedef struct {
+    twobit ch226_tag;
+    union {
+        kal_uint8 ncc_permit;
+        int_freq_list_struct intfreq;
+    } ch226_value;
+} ncc_or_freq_struct;
+
+typedef struct {
+    ispresent ext_rep_type_choice_tag;
+    union {
+        ncc_or_freq_struct pext_rep_type;
+    } ext_rep_type_choice_value;
+    ispresent ext_rep_per_choice_tag;
+    union {
+        kal_uint8 pext_rep_period;
+    } ext_rep_per_choice_value;
+    ext_freq_list_struct first_ext_freq_list; /* FIRST EXT FREQ LIST STRUCT*/
+    unsigned int no_ext_freq_list;
+    unsigned int ext_freq_list_size;
+    ext_freq_list_struct *ext_freq_list;
+} em1struct;
+
+typedef struct {
+    twobit ext_meas_order_tag;
+    union {
+        em1struct EM1;
+    } ext_meas_order_value;
+} ext_meas_params_struct;
+
+typedef struct {
+    kal_uint8 pmo_index; /* PMO INDEX*/
+    kal_uint8 pmo_count; /* PMO COUNT*/
+    ispresent nc_meas_choice_tag;
+    union {
+        nc_meas_params_struct p_nc_meas_params;
+    } nc_meas_choice_value;
+    ispresent ext_meas_choice_tag;
+    union {
+        ext_meas_params_struct p_extmeas_params;
+    } ext_meas_choice_value;
+} measurement_peer_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msg_type; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    msid_enum tlli_tfi_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+    } tlli_tfi_choice_value;
+    measurement_peer_struct measurement_params; /* MEASUREMENT STRUCT*/
+} pkt_measurement_order_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msg_type; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    msid_enum tlli_tfi_choice_tag;
+    union {
+        global_tfistruct global_tfi;
+        kal_uint32 tlli;
+    } tlli_tfi_choice_value;
+    kal_uint8 msgescape; /* MESSAGE ESCAPE*/
+    kal_uint8 immediaterel; /* IMMEDIATE REL*/
+    kal_uint16 arfcn; /* ARFCN*/
+    kal_uint8 bsic; /* BSIC*/
+    nc_meas_params_struct nc_meas_params; /* NC MEASUREMENT PARAMETER STRUCTURE*/
+} pkt_cell_change_order;
+
+typedef struct {
+    kal_uint8 no_mobile;
+    kal_uint8 mobile_size;
+    kal_uint8 *mobile; /* mobile identity*/
+} mobile_idstruct;
+
+typedef struct {
+    ispresent ptmsi_choice_tag;
+    union {
+        kal_uint32 a_ch_ptmsi;
+        mobile_idstruct p_ch_ptmsi;
+    } ptmsi_choice_value;
+} ptmsistruct;
+
+typedef struct {
+    ispresent tmsi_choice_tag;
+    union {
+        kal_uint32 a_ch_tmsi;
+        mobile_idstruct p_ch_tmsi;
+    } tmsi_choice_value;
+    kal_uint8 channel_needed; /* CHANNEL_NEEDED*/
+    ispresent e_mlpp_choice_tag;
+    union {
+        kal_uint8 p_emlpp_priority;
+    } e_mlpp_choice_value;
+} tmsistruct;
+
+typedef struct {
+    ispresent tmsi_ptmsi_choice_tag;
+    union {
+        ptmsistruct a_ptmsi;
+        tmsistruct p_tmsi;
+    } tmsi_ptmsi_choice_value;
+} repeated_page_info_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    ispresent persis_level_choice_tag;
+    union {
+        persist_level_struct p_persistance_level;
+    } persis_level_choice_value;
+    ispresent notif_list_num_choice_tag;
+    union {
+        kal_uint8 p_notif_list_num;
+    } notif_list_num_choice_value;
+    unsigned int no_repeated_page_info;
+    unsigned int repeated_page_info_size;
+    repeated_page_info_struct *repeated_page_info;
+} packet_paging_request;
+
+typedef struct {
+    kal_uint8 pdu_length_indicator;
+    kal_uint8 pdu_descript_spare;
+    kal_uint16 no_of_pdus;
+} pdu_descript_struct;
+
+typedef struct {
+    kal_uint8 mode_flag_spare;
+    kal_uint8 dl_timeslot_offset;
+    kal_uint8 mode;
+} mode_flag_struct;
+
+typedef struct {
+    kal_uint8 skip_ind;
+    kal_uint8 proto_disc;
+    kal_uint8 msg_type;
+    pdu_descript_struct pdu_descript;
+    mode_flag_struct mode_flag; /* Mode Flag Struct*/
+} gprs_test_mode_cmd_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul.h
new file mode 100644
index 0000000..296bf21
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul.h
@@ -0,0 +1,123 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_ul.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _GPRS_RLCMAC_UL_H_
+#define _GPRS_RLCMAC_UL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_gprs_rlcmac_ul.h"
+#include "get_gprs_rlcmac_ul.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_pun.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_pun.h
new file mode 100644
index 0000000..a371381
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_pun.h
@@ -0,0 +1,275 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_ul_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_ul_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _GPRS_RLCMAC_UL_PUN_H
+#define _GPRS_RLCMAC_UL_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int utran_fdd_struct_bits(void *);
+IMP void utran_fdd_struct_alloc(void *);
+IMP void utran_fdd_struct_dealloc(void *);
+IMP unsigned int utran_fdd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int utran_fdd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int add_3G_r99_struct_bits(void *);
+IMP void add_3G_r99_struct_alloc(void *);
+IMP void add_3G_r99_struct_dealloc(void *);
+IMP unsigned int add_3G_r99_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int add_3G_r99_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_cell_change_failure_msg_bits(void *);
+IMP void pkt_cell_change_failure_msg_alloc(void *);
+IMP void pkt_cell_change_failure_msg_dealloc(void *);
+IMP unsigned int pkt_cell_change_failure_msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_cell_change_failure_msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int level_struct_bits(void *);
+IMP void level_struct_alloc(void *);
+IMP void level_struct_dealloc(void *);
+IMP unsigned int level_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int level_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int interference_level_struct_bits(void *);
+IMP void interference_level_struct_alloc(void *);
+IMP void interference_level_struct_dealloc(void *);
+IMP unsigned int interference_level_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int interference_level_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ext_meas_report_struct_bits(void *);
+IMP void ext_meas_report_struct_alloc(void *);
+IMP void ext_meas_report_struct_dealloc(void *);
+IMP unsigned int ext_meas_report_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ext_meas_report_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define ba_used_struct_size(x) 1
+IMP unsigned int ba_used_struct_bits(void *);
+IMP void ba_used_struct_alloc(void *);
+IMP void ba_used_struct_dealloc(void *);
+IMP unsigned int ba_used_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ba_used_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pmo_used_struct_bits(void *);
+IMP void pmo_used_struct_alloc(void *);
+IMP void pmo_used_struct_dealloc(void *);
+IMP unsigned int pmo_used_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pmo_used_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pmr_add_r99_struct_bits(void *);
+IMP void pmr_add_r99_struct_alloc(void *);
+IMP void pmr_add_r99_struct_dealloc(void *);
+IMP unsigned int pmr_add_r99_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pmr_add_r99_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_meas_report_struct_bits(void *);
+IMP void pkt_meas_report_struct_alloc(void *);
+
+IMP void pkt_meas_report_struct_dealloc(void *);
+IMP unsigned int pkt_meas_report_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_meas_report_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int serving_cell_data_struct_bits(void *);
+IMP void serving_cell_data_struct_alloc(void *);
+IMP void serving_cell_data_struct_dealloc(void *);
+IMP unsigned int serving_cell_data_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int serving_cell_data_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rp_bsic_struct_size(x) 3
+IMP unsigned int rp_bsic_struct_bits(void *);
+IMP void rp_bsic_struct_alloc(void *);
+IMP void rp_bsic_struct_dealloc(void *);
+IMP unsigned int rp_bsic_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rp_bsic_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int reporting_quantity_struct_bits(void *);
+IMP void reporting_quantity_struct_alloc(void *, kal_uint8);
+IMP void reporting_quantity_struct_dealloc(void *);
+IMP unsigned int reporting_quantity_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int reporting_quantity_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int invalid_bsic_struct_bits(void *);
+IMP void invalid_bsic_struct_alloc(void *);
+IMP void invalid_bsic_struct_dealloc(void *);
+IMP unsigned int invalid_bsic_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int invalid_bsic_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int enh_nc_meas_rep_struct_bits(void *);
+IMP void enh_nc_meas_rep_struct_alloc(void *);
+IMP void enh_nc_meas_rep_struct_dealloc(void *);
+IMP unsigned int enh_nc_meas_rep_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int enh_nc_meas_rep_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_enh_meas_report_struct_bits(void *);
+IMP void pkt_enh_meas_report_struct_alloc(void *);
+IMP void pkt_enh_meas_report_struct_dealloc(void *);
+IMP unsigned int pkt_enh_meas_report_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_enh_meas_report_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define ch_request_desc_struct_size(x) 3
+IMP unsigned int ch_request_desc_struct_bits(void *);
+IMP void ch_request_desc_struct_alloc(void *);
+IMP void ch_request_desc_struct_dealloc(void *);
+IMP unsigned int ch_request_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ch_request_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ilevel_tn_struct_bits(void *);
+IMP void ilevel_tn_struct_alloc(void *);
+IMP void ilevel_tn_struct_dealloc(void *);
+IMP unsigned int ilevel_tn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ilevel_tn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ch_quality_report_struct_bits(void *);
+IMP void ch_quality_report_struct_alloc(void *);
+IMP void ch_quality_report_struct_dealloc(void *);
+IMP unsigned int ch_quality_report_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ch_quality_report_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_dn_link_ack_nack_bits(void *);
+IMP void pkt_dn_link_ack_nack_alloc(void *);
+IMP void pkt_dn_link_ack_nack_dealloc(void *);
+IMP unsigned int pkt_dn_link_ack_nack_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_dn_link_ack_nack_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+/* Austin 040406: support PSI status */
+IMP void pkt_psi_status_struct_alloc(void *);
+IMP unsigned int pkt_psi_status_struct_pack(kal_uint8 *, void *, unsigned int);
+
+#ifdef __REL4__  // chris, nacc_coding
+IMP void pkt_cell_change_notification_struct_alloc(void *);
+IMP unsigned int pkt_cell_change_notification_struct_pack(kal_uint8 *, void *, unsigned int);
+
+/*Byron: Packet SI Status*/
+IMP unsigned int pkt_si_status_struct_pack(kal_uint8 * frame, void * mtk_d,
+            unsigned int bit_offset);
+#endif
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_struct.h b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_struct.h
new file mode 100644
index 0000000..f000dc6
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/gprs_rlcmac_ul_struct.h
@@ -0,0 +1,537 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  gprs_rlcmac_ul_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : gprs_rlcmac_ul_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _GPRS_RLCMAC_UL_STRUCT_H
+#define _GPRS_RLCMAC_UL_STRUCT_H
+
+#ifdef __GERAN_R6__
+#define NUM_OF_SI_MESSAGE 10  /* SI1, SI2, SI2bis, SI2ter, SI2quarter, SI3, SI4, SI7, SI8, SI2n */
+#else
+#define NUM_OF_SI_MESSAGE 9   /* SI1, SI2, SI2bis, SI2ter, SI2quarter, SI3, SI4, SI7, SI8 */
+#endif
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+#include "gprs_rlcmac_common_struct.h"
+#include "nstd_pkt_meas_report_struct.h"
+
+typedef struct {
+    kal_uint16 uarfcn; /* UARFCN*/
+    kal_uint8 diversity; /* DIVERSITY*/
+    ispresent bandwidth_fdd_tag;
+    union {
+        kal_uint8 p_bw_fdd;
+    } bandwidth_fdd_value;
+    kal_uint16 scrambling_code; /* SCRAMBLING CODE*/
+} utran_fdd_struct;
+
+typedef struct {
+    kal_uint16 uarfcn; /* UARFCN*/
+    kal_uint8 diversity; /* DIVERSITY*/
+    ispresent bandwidth_tdd_tag;
+    union {
+        kal_uint8 p_bw_tdd;
+    } bandwidth_tdd_value;
+    kal_uint16 cell_parameter; /* CELL PARAMETER*/
+    kal_uint8 sctd; /* Sync Case TSTD*/
+} utran_tdd_struct;
+
+typedef struct {
+    ispresent utran_fdd_tag;
+    union {
+        utran_fdd_struct p_utran_fdd;
+    } utran_fdd_value;
+    ispresent utran_tdd_tag;
+    union {
+        utran_tdd_struct p_utran_tdd;
+    } utran_tdd_value;    
+} add_3G_r99_struct;
+
+typedef struct {
+    ul_ctrl_header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint32 tlli; /* TLLI*/
+    kal_uint16 arfcn; /* ARFCN*/
+    kal_uint8 bsic; /* BSIC*/
+    kal_uint8 cause; /* CAUSE*/
+    ispresent add_3G_r99_choice_tag;
+    union {
+        add_3G_r99_struct p_add_3G_r99;
+    } add_3G_r99_choice_value;
+} pkt_cell_change_failure_msg;
+
+typedef struct {
+    ispresent i_level_choice0_tag;
+    union {
+        kal_uint8 p_leveln0;
+    } i_level_choice0_value;
+    ispresent i_level_choice1_tag;
+    union {
+        kal_uint8 p_leveln1;
+    } i_level_choice1_value;
+    ispresent i_level_choice2_tag;
+    union {
+        kal_uint8 p_leveln2;
+    } i_level_choice2_value;
+    ispresent i_level_choice3_tag;
+    union {
+        kal_uint8 p_leveln3;
+    } i_level_choice3_value;
+    ispresent i_level_choice4_tag;
+    union {
+        kal_uint8 p_leveln4;
+    } i_level_choice4_value;
+    ispresent i_level_choice5_tag;
+    union {
+        kal_uint8 p_leveln5;
+    } i_level_choice5_value;
+    ispresent i_level_choice6_tag;
+    union {
+        kal_uint8 p_leveln6;
+    } i_level_choice6_value;
+    ispresent i_level_choice7_tag;
+    union {
+        kal_uint8 p_leveln7;
+    } i_level_choice7_value;
+} level_struct;
+
+typedef struct {
+    level_struct interf_level_struct[8];
+} interference_level_struct;
+
+typedef struct {
+    kal_uint8 ext_report_type; /* EXT REPORTING TYPE*/
+    ispresent ext_report_choice_tag;
+    union {
+        level_struct p_ext_meas_report;
+    } ext_report_choice_value;
+    kal_uint8 no_freq_bisc2;
+    kal_uint8 freq_bisc2_size;
+    freq_bisc_struct *freq_bisc2; /* FREQ BISC */
+} ext_meas_report_struct;
+
+typedef struct {
+    kal_uint8 ba_used; /* BA_USED*/
+    kal_uint8 umts_ba_used; /* 3*/
+} ba_used_struct;
+
+typedef struct {
+    ispresent psi3chng_mark_choice_tag;
+    union {
+        ba_used_struct a_psi3chng_mark;
+        kal_uint8 p_psi3chng_mark;
+    } psi3chng_mark_choice_value;
+    kal_uint8 pmo_used; /* PMO_USED*/
+} pmo_used_struct;
+
+typedef struct {
+    ispresent pmo_used_choice_tag;
+    union {
+        pmo_used_struct p_pmo_used;
+    } pmo_used_choice_value;
+    ispresent umts_meas_rp_choice_tag;
+/*    
+    union {
+    } umts_meas_rp_choice_value;
+*/    
+} pmr_add_r99_struct;
+
+typedef struct {
+    kal_uint8 rxlev_serving_cell; 
+    ispresent interf_choice_tag;
+    union {
+        kal_uint8 p_interf_serving_cell;
+    } interf_choice_value;
+} serving_cell_data_struct;
+
+typedef struct {
+    kal_uint8 bcch_freq_ncell; 
+    kal_uint8 bsic; 
+    kal_uint8 rxlev; 
+} rp_bsic_struct;
+
+typedef struct {
+    ispresent reporting_quantity_choice_tag;
+    union {
+        kal_uint8 p_reporting_quantity;
+    } reporting_quantity_choice_value;
+} reporting_quantity_struct;
+
+typedef struct {
+    ispresent invalid_bsic_choice_tag;
+    union {
+        rp_bsic_struct p_invalid_bsic;
+    } invalid_bsic_choice_value;
+} invalid_bsic_struct;
+
+typedef struct {
+    kal_uint8 nc_mode; 
+    ispresent psi3_chng_mark_choice_tag;
+    union {
+        ba_used_struct a_psi3_chng_mark;
+        kal_uint8 p_psi3_chng_mark;
+    } psi3_chng_mark_choice_value;
+    kal_uint8 pmo_used; 
+    kal_uint8 bsic_seen; 
+    kal_uint8 scale; 
+    ispresent serving_cell_data_choice_tag;
+    union {
+        serving_cell_data_struct p_serving_cell_data;
+    } serving_cell_data_choice_value;
+    kal_uint8 no_repeated_invalid_bsic;
+    kal_uint8 repeated_invalid_bsic_size;
+    invalid_bsic_struct *repeated_invalid_bsic; 
+    kal_uint8 no_reporting_quantity;
+    kal_uint8 reporting_quantity_size;	    
+    ispresent bitmap_reporting_choice_tag;
+    union {
+        reporting_quantity_struct *p_bitmap_reporting;
+    } bitmap_reporting_choice_value;
+} enh_nc_meas_rep_struct;
+
+#ifdef __UMTS_RAT__
+typedef struct {
+   kal_uint8 cell_index;
+   kal_uint8 rep_quan;
+} umts_cell_rep_struct;
+
+typedef struct {
+    kal_uint8 num_umts_cell; /* FREQUENCY N*/
+	ispresent umts_cell_reporting_choice_tag;
+	umts_cell_rep_struct *u_cell_reporting;
+} umts_meas_rep_struct;
+#endif
+
+
+typedef struct {
+    ul_ctrl_header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint32 tlli; /* TLLI*/
+    ispresent psi5chng_mark_choice_tag;
+    union {
+        kal_uint8 p_psi5chng_mark;
+    } psi5chng_mark_choice_value;
+    ispresent nc_meas_report_choice_tag;
+    union {
+        nc_meas_rep_struct a_nc_meas_report;
+        ext_meas_report_struct p_ext_meas_report;
+    } nc_meas_report_choice_value;
+    ispresent umts_meas_report_choice_tag;
+#ifdef __UMTS_RAT__
+    union {
+        umts_meas_rep_struct u_umts_meas_report;
+    }nc_umts_meas_report_choice_value;
+#endif
+    ispresent r99_choice_tag;
+    union {
+        pmr_add_r99_struct p_r99_choice;
+    } r99_choice_value;
+} pkt_meas_report_struct;
+
+typedef struct {
+    ul_ctrl_header_struct header; 
+    kal_uint8 msgtype; 
+    kal_uint32 tlli; 
+    enh_nc_meas_rep_struct enh_nc_meas_rep; 
+} pkt_enh_meas_report_struct;
+
+typedef struct {
+    kal_uint8 peak_thru_class; /* PEAK THRUPUT CLASS*/
+    kal_uint8 radio_priority; /* RADIO PRIORITY*/
+    kal_uint8 rlc_mode; /* RLC MODE*/
+    kal_uint8 llc_pdu_type; /* LLC PDU TYPE*/
+    kal_uint16 rlc_octet_count; /* RLC OCTET COUNT*/
+} ch_request_desc_struct;
+
+typedef struct {
+    ispresent ilevel_choice_tag;
+    union {
+        kal_uint8 p_ilevel_tn;
+    } ilevel_choice_value;
+} ilevel_tn_struct;
+
+typedef struct {
+    kal_uint8 c_value; /* C-VALUE*/
+    kal_uint8 rx_qual; /* RXQUAL*/
+    kal_uint8 sign_var; /* SIGN-VAR*/
+    ilevel_tn_struct i_level_tn_value[8];
+} ch_quality_report_struct;
+
+typedef struct {
+    ul_ctrl_header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 dn_lnk_tfi; /* DOWN LINK TFI*/
+    ack_nack_desc_struct ack_nack2; /* ACKNACKDESCSTRUCT*/
+    ispresent ch_req_desc_choice_tag;
+    union {
+        ch_request_desc_struct p_ch_req_desc;
+    } ch_req_desc_choice_value;
+    ch_quality_report_struct ch_qua_report; /* ch_quality_report_struct*/
+} pkt_dn_link_ack_nack;
+
+/* Austin 040406: support PSI status */
+typedef struct {
+    kal_uint8 psix_msgtype; /* PSI MSG TYPE */
+    kal_uint8 psix_chng_mark; /* PSI CHANGE MARK */
+    ispresent instance_bitmap_tag;
+    kal_uint8 psix_count;  /* PSIX_COUNT */
+    kal_uint16 instance_bitmap;
+} psi_msg_struct;
+
+typedef struct {
+    unsigned int no_psi_msg;
+    psi_msg_struct psi_msg_list[10];   /* Rel99: PSI2, 3, 3bis, 4, 5, 3ter, 3qualter, 6, 7, 8 */
+    kal_uint8 additional_msg_type;
+} psi_msg_list_struct;
+
+typedef struct {
+    kal_uint8 psix_msgtype; /* PSI MSG TYPE */
+} unknown_psi_msg_struct;
+
+typedef struct {
+    unsigned int no_unknown_psi_msg;
+    unknown_psi_msg_struct unknown_psi_msg_list[1]; /* not realy used now */
+    kal_uint8 additional_msg_type;
+} unknown_psi_msg_list_struct;
+
+typedef struct {
+    ul_ctrl_header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    global_tfistruct global_tfi; /* GLOBAL TFI */
+    kal_uint8 pbcch_chng_mark;  /* PBCCH CHANGE MARK */
+    psi_msg_list_struct psi_msg_list;
+    unknown_psi_msg_list_struct unknown_psi_msg_list;
+} pkt_psi_status_struct;
+
+
+#ifdef __GERAN_R4__
+typedef struct
+{
+    kal_uint16 arfcn; /* ARFCN*/
+    kal_uint8 bsic; /* BSIC*/
+}cell_2g_struct;
+
+typedef struct
+{
+    ispresent cell_2G_choice_tag;
+    cell_2g_struct cell_2g;
+    ispresent cell_3G_r6_choice_tag;
+    add_3G_r99_struct cell_3g;
+    kal_uint8 cell_rep_quan;
+}ccn_target_cell_struct;
+
+typedef struct
+{
+   ul_ctrl_header_struct  header;
+   kal_uint8 msgtype;       
+   global_tfistruct global_tfi;
+   ccn_target_cell_struct ccn_target_cell;
+   kal_bool ba_or_psi3_used;
+   kal_bool ba_used;
+   kal_uint8 psi3_change_mark;
+   kal_uint8 pmo_used;
+   kal_uint8 pccn_sending; /* It re-send or not*/ 
+   nc_meas_rep_struct  ccn_measurement_report;      /* This struct is identical to the NC Measurement Report struct 
+        specified in the PACKET MEASUREMENT REPORT message with the exception that the NC_MODE parameter 
+        is not part of the struct. We will skip nc_mode in encode function*/
+#ifdef __UMTS_RAT__
+   ispresent umts_meas_report_choice_tag;
+   
+   ispresent umts_ba_used_tag;
+   kal_bool umts_ba_used;
+    union {
+        umts_meas_rep_struct u_umts_meas_report;
+    }nc_umts_meas_report_choice_value;
+#endif
+} pkt_cell_change_notification_struct;
+
+/*Byron: 2006/06/29: For Packet SI Status*/
+typedef struct {
+    kal_uint8 six_msgtype; /* SI MSG TYPE */
+    kal_uint8 mess_rec; /* message received type */
+    ispresent instance_bitmap_tag;
+    kal_uint8 six_change_mark; /*SIX change mark*/
+    kal_uint8 six_count;  /* SIX_COUNT */
+    kal_uint16 instance_bitmap;
+} si_msg_struct;
+
+typedef struct {
+    kal_uint8 no_si_msg;
+    si_msg_struct si_msg_list[NUM_OF_SI_MESSAGE];
+    kal_uint8 additional_msg_type;
+} si_msg_list_struct;
+
+typedef struct {
+    kal_uint8 six_msgtype; /* SI MSG TYPE */
+} unknown_si_msg_struct;
+
+typedef struct {
+    kal_uint8 no_unknown_si_msg;
+    unknown_si_msg_struct unknown_si_msg_list[1]; /* not realy used now */
+    kal_uint8 additional_msg_type;
+} unknown_si_msg_list_struct;
+
+typedef struct {
+    ul_ctrl_header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    global_tfistruct global_tfi; /* GLOBAL TFI */
+    kal_uint8 bcch_chng_mark;  /* PBCCH CHANGE MARK */
+    si_msg_list_struct si_msg_list;
+    unknown_si_msg_list_struct unknown_si_msg_list;
+} pkt_si_status_struct;
+
+#endif
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/meascell.h b/mcu/protocol/interface/asn/rr/include/meascell.h
new file mode 100644
index 0000000..98cff7e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/meascell.h
@@ -0,0 +1,120 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  meascell.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _meascell_H_
+#define _meascell_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+#ifdef TOOL
+#include "set_meascell.h"
+#include "get_meascell.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/meascell_pun.h b/mcu/protocol/interface/asn/rr/include/meascell_pun.h
new file mode 100644
index 0000000..5eb5bf8
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/meascell_pun.h
@@ -0,0 +1,169 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  meascell_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : meascell_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _MEASCELL_PUN_H
+
+#include "kal_general_types.h"
+
+#define _MEASCELL_PUN_H
+#define gprs_struct_size(x) 2
+IMP unsigned int gprs_struct_bits(void *);
+IMP void gprs_struct_alloc(void *);
+IMP void gprs_struct_dealloc(void *);
+IMP unsigned int gprs_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprs_one_struct_size(x) 1
+IMP unsigned int gprs_one_struct_bits(void *);
+IMP void gprs_one_struct_alloc(void *);
+IMP void gprs_one_struct_dealloc(void *);
+IMP unsigned int gprs_one_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_one_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define hcs_struct_size(x) 1
+IMP unsigned int hcs_struct_bits(void *);
+IMP void hcs_struct_alloc(void *);
+IMP void hcs_struct_dealloc(void *);
+IMP unsigned int hcs_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int hcs_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define loc_per_struct_size(x) 1
+IMP unsigned int loc_per_struct_bits(void *);
+IMP void loc_per_struct_alloc(void *);
+IMP void loc_per_struct_dealloc(void *);
+IMP unsigned int loc_per_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int loc_per_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_pbcch_struct_bits(void *);
+IMP void si_pbcch_struct_alloc(void *);
+IMP void si_pbcch_struct_dealloc(void *);
+IMP unsigned int si_pbcch_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_pbcch_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int cell_selection_struct_bits(void *);
+IMP void cell_selection_struct_alloc(void *);
+IMP void cell_selection_struct_dealloc(void *);
+IMP unsigned int cell_selection_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cell_selection_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/meascell_struct.h b/mcu/protocol/interface/asn/rr/include/meascell_struct.h
new file mode 100644
index 0000000..daad5f7
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/meascell_struct.h
@@ -0,0 +1,178 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  meascell_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : meascell_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _MEASCELL_STRUCT_H
+#define _MEASCELL_STRUCT_H
+
+#include "rr_common_def.h"
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 gprsmin; /* GPRS RXLEV ACCESS  MIN*/
+    kal_uint8 gprscch; /* GPRS MS TXPWR MAX CCH*/
+} gprs_struct;
+
+typedef struct {
+    kal_uint8 gprsoffset; /* GPRS  TEMPORARY OFFSET*/
+    kal_uint8 gprstime; /* GPRS PENALITY TIME*/
+} gprs_one_struct;
+
+typedef struct {
+    kal_uint8 gprspriclass; /* GPRS PRIORITY CLASS*/
+    kal_uint8 gprshcsthr; /* GPRS HCS THR*/
+} hcs_struct;
+
+typedef struct {
+    kal_uint8 pbcchloc; /* PBCCH LOCATION*/
+    kal_uint8 psiperiod; /* PSI  REPEAT PERIOD*/
+} loc_per_struct;
+
+typedef struct {
+    ispresent loc_per_struct_choice_tag;
+    union {
+        kal_uint8 asiloc;
+        loc_per_struct psiloc;
+    } loc_per_struct_choice_value;
+} si_pbcch_struct;
+
+typedef struct {
+    kal_uint8 cell_bar; /* CELL BAR ACCESS*/
+    kal_uint8 exc_acc; /* EXC_ACCESS*/
+    kal_uint8 same_cell; /* SAME RA AS SERVING CELL*/
+    ispresent gprs_struct_choice_tag;
+    union {
+        gprs_struct pgprs;
+    } gprs_struct_choice_value;
+    ispresent gprs_ones_struct_choice_tag;
+    union {
+        gprs_one_struct pgprsone;
+    } gprs_ones_struct_choice_value;
+    ispresent gprs_resl_off_choice_tag;
+    union {
+        kal_uint8 pgprsresoffsset;
+    } gprs_resl_off_choice_value;
+    ispresent hcs_params_choice_tag;
+    union {
+        hcs_struct phcspara;
+    } hcs_params_choice_value;
+    ispresent si_pbcch_loc_choice_tag;
+    union {
+        si_pbcch_struct psipbcch;
+    } si_pbcch_loc_choice_value;
+} cell_selection_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/measurement_report.h b/mcu/protocol/interface/asn/rr/include/measurement_report.h
new file mode 100644
index 0000000..a377365
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/measurement_report.h
@@ -0,0 +1,126 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  measurement_report.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _MEASUREMENT_REPORT_H
+#define _MEASUREMENT_REPORT_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#include "kal_public_api.h"
+#endif  
+
+#include "measurement_report_struct.h"
+#include "measurement_report_pun.h"    
+
+#ifdef TOOL
+#include "set_measurement_report.h"
+#include "get_measurement_report.h"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/mtk_csn.h b/mcu/protocol/interface/asn/rr/include/mtk_csn.h
new file mode 100644
index 0000000..fd1e0ce
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/mtk_csn.h
@@ -0,0 +1,13799 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2007
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/***************************************************************************
+* Filename:
+* ---------
+*  mtk_csn.h
+*
+* Source:
+* ------------
+*  CS_R99.csn
+*  PS_R99.csn
+*  PS_R6.csn
+*  PS_Common.csn
+*  PS_R99_UL.csn
+*  PS_Common_UL.csn
+*
+* DESCRIPTION:
+*   Auto generated by MTK CSN.1 Compiler [v1.1034.00], Mon Sep 06 10:56:57 2010
+*
+***************************************************************************/
+#if !defined _MTK_CSN_H
+#define _MTK_CSN_H
+
+#include "mtkcsn_global.h"
+#include "csn_common.h"
+
+/*Evelyn: Remove redundant header and file */
+#include "rr_common_def.h"
+#include "kal_general_types.h"
+#include "as_common.h"
+
+/* For L4CPS_EM_STATUS_IND peer buff decoding */
+#include "em_gas_public_struct.h"
+#include "ps_public_struct.h"
+#include "em_struct.h"
+
+
+/* SEQUENCE repeated utran fdd neighbour cells struct mi */
+typedef struct repeated_utran_fdd_neighbour_cells_struct_mi{
+   U16 fdd_arfcn;
+   U8 fdd_indic0;
+   U8 nr_of_fdd_cells;
+   U16 numElements_fdd_cell_information_field;
+   U8 * fdd_cell_information_field;
+}repeated_utran_fdd_neighbour_cells_struct_mi;
+
+/* SEQUENCE repeated utran tdd neighbour cells struct mi */
+typedef struct repeated_utran_tdd_neighbour_cells_struct_mi{
+   U16 tdd_arfcn;
+   U8 tdd_indic0;
+   U8 nr_of_tdd_cells;
+   U16 numElements_tdd_cell_information_field;
+   U8 * tdd_cell_information_field;
+}repeated_utran_tdd_neighbour_cells_struct_mi;
+
+typedef enum {
+   CDMA_2000_DESCRIPTION_STRUCT_MI_S_4,
+   CDMA_2000_DESCRIPTION_STRUCT_MI_S_5,
+   CDMA_2000_DESCRIPTION_STRUCT_MI_S_6,
+   CDMA_2000_DESCRIPTION_STRUCT_MI_S_7,
+   CDMA_2000_DESCRIPTION_STRUCT_MI_S_8
+}cdma_2000_description_struct_mi_s_3_enum;
+
+typedef struct cdma_2000_description_struct_mi_s_4{
+   U8 td_mode;
+   U8 td_power_level;
+}cdma_2000_description_struct_mi_s_4;
+
+typedef struct cdma_2000_description_struct_mi_s_5{
+   U8 qof;
+   U8 walsh_len_a;
+   U16 numElements_aux_pilot_walsh;
+   U8 * aux_pilot_walsh;
+}cdma_2000_description_struct_mi_s_5;
+
+typedef struct cdma_2000_description_struct_mi_s_6{
+   U8 qof;
+   U8 walsh_len_b;
+   U16 numElements_aux_td_walsh;
+   U8 * aux_td_walsh;
+   U8 aux_td_power_level;
+   U8 td_mode;
+}cdma_2000_description_struct_mi_s_6;
+
+typedef struct cdma_2000_description_struct_mi_s_7{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+}cdma_2000_description_struct_mi_s_7;
+
+typedef struct cdma_2000_description_struct_mi_s_10{
+   U8 qof1;
+   U8 walsh_length1;
+   U16 numElements_aux_pilot_walsh1;
+   U8 * aux_pilot_walsh1;
+}cdma_2000_description_struct_mi_s_10;
+
+typedef struct cdma_2000_description_struct_mi_s_12{
+   U8 qof2;
+   U8 walsh_length2;
+   U16 numElements_aux_pilot_walsh2;
+   U8 * aux_pilot_walsh2;
+}cdma_2000_description_struct_mi_s_12;
+
+typedef struct cdma_2000_description_struct_mi_s_8{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+   U8 qof;
+   U8 walsh_len_c;
+   U16 numElements_aux_walsh_len;
+   U8 * aux_walsh_len;
+   ispresent cdma_2000_description_struct_mi_s_9_tag;
+   union cdma_2000_description_struct_mi_s_9_value{
+      cdma_2000_description_struct_mi_s_10 m_cdma_2000_description_struct_mi_s_10;
+   }cdma_2000_description_struct_mi_s_9_value;
+   ispresent cdma_2000_description_struct_mi_s_11_tag;
+   union cdma_2000_description_struct_mi_s_11_value{
+      cdma_2000_description_struct_mi_s_12 m_cdma_2000_description_struct_mi_s_12;
+   }cdma_2000_description_struct_mi_s_11_value;
+}cdma_2000_description_struct_mi_s_8;
+
+typedef struct cdma_2000_description_struct_mi_s_3{
+   cdma_2000_description_struct_mi_s_3_enum cdma_2000_description_struct_mi_s_3_tag;
+   union cdma_2000_description_struct_mi_s_3_value{
+      cdma_2000_description_struct_mi_s_4 m_cdma_2000_description_struct_mi_s_4;
+      cdma_2000_description_struct_mi_s_5 m_cdma_2000_description_struct_mi_s_5;
+      cdma_2000_description_struct_mi_s_6 m_cdma_2000_description_struct_mi_s_6;
+      cdma_2000_description_struct_mi_s_7 m_cdma_2000_description_struct_mi_s_7;
+      cdma_2000_description_struct_mi_s_8 m_cdma_2000_description_struct_mi_s_8;
+   }cdma_2000_description_struct_mi_s_3_value;
+}cdma_2000_description_struct_mi_s_3;
+
+typedef struct cdma_2000_description_struct_mi_s_1{
+   U16 pilot_pn_offset;
+   ispresent cdma_2000_description_struct_mi_s_2_tag;
+   union cdma_2000_description_struct_mi_s_2_value{
+      cdma_2000_description_struct_mi_s_3 m_cdma_2000_description_struct_mi_s_3;
+   }cdma_2000_description_struct_mi_s_2_value;
+}cdma_2000_description_struct_mi_s_1;
+
+/* SEQUENCE cdma 2000 description struct mi */
+typedef struct cdma_2000_description_struct_mi{
+   U8 cdma2000_frequency_band;
+   U16 cdma2000_frequency;
+   U8 number_cdma2000_cells;
+   U16 numElements_m_cdma_2000_description_struct_mi_s_1;
+   cdma_2000_description_struct_mi_s_1 * m_cdma_2000_description_struct_mi_s_1;
+}cdma_2000_description_struct_mi;
+
+/* SEQUENCE rtd6 struct mi */
+typedef struct rtd6_struct_mi{
+   U16 numElements_rtd;
+   U8 * rtd;
+}rtd6_struct_mi;
+
+/* SEQUENCE rtd12 struct mi */
+typedef struct rtd12_struct_mi{
+   U16 numElements_rtd;
+   U16 * rtd;
+}rtd12_struct_mi;
+
+typedef struct bsic_description_struct_s_2{
+   U8 frequency_scrolling;
+   U8 bsic;
+}bsic_description_struct_s_2;
+
+/* SEQUENCE bsic description struct */
+typedef struct bsic_description_struct{
+   ispresent bsic_description_struct_s_1_tag;
+   union bsic_description_struct_s_1_value{
+      U8 ba_index_start_bsic;
+   }bsic_description_struct_s_1_value;
+   U8 bsic;
+   U8 number_remaining_bsic;
+   U16 numElements_m_bsic_description_struct_s_2;
+   bsic_description_struct_s_2 * m_bsic_description_struct_s_2;
+}bsic_description_struct;
+
+/* SEQUENCE report priority description struct */
+typedef struct report_priority_description_struct{
+   U8 number_cells;
+   U16 numElements_rep_priority;
+   U8 * rep_priority;
+}report_priority_description_struct;
+
+typedef struct measurement_parameters_description_struct_s_4{
+   U8 p_900__reporting_offset;
+   U8 p_900__reporting_threshold;
+}measurement_parameters_description_struct_s_4;
+
+typedef struct measurement_parameters_description_struct_s_6{
+   U8 p_1800__reporting_offset;
+   U8 p_1800__reporting_threshold;
+}measurement_parameters_description_struct_s_6;
+
+typedef struct measurement_parameters_description_struct_s_8{
+   U8 p_400__reporting_offset;
+   U8 p_400__reporting_threshold;
+}measurement_parameters_description_struct_s_8;
+
+typedef struct measurement_parameters_description_struct_s_10{
+   U8 p_1900__reporting_offset;
+   U8 p_1900__reporting_threshold;
+}measurement_parameters_description_struct_s_10;
+
+typedef struct measurement_parameters_description_struct_s_12{
+   U8 p_850__reporting_offset;
+   U8 p_850__reporting_threshold;
+}measurement_parameters_description_struct_s_12;
+
+/* SEQUENCE measurement parameters description struct */
+typedef struct measurement_parameters_description_struct{
+   ispresent measurement_parameters_description_struct_s_1_tag;
+   union measurement_parameters_description_struct_s_1_value{
+      U8 multiband_reporting;
+   }measurement_parameters_description_struct_s_1_value;
+   ispresent measurement_parameters_description_struct_s_2_tag;
+   union measurement_parameters_description_struct_s_2_value{
+      U8 serving_band_reporting;
+   }measurement_parameters_description_struct_s_2_value;
+   U8 scale_ord;
+   ispresent measurement_parameters_description_struct_s_3_tag;
+   union measurement_parameters_description_struct_s_3_value{
+      measurement_parameters_description_struct_s_4 m_measurement_parameters_description_struct_s_4;
+   }measurement_parameters_description_struct_s_3_value;
+   ispresent measurement_parameters_description_struct_s_5_tag;
+   union measurement_parameters_description_struct_s_5_value{
+      measurement_parameters_description_struct_s_6 m_measurement_parameters_description_struct_s_6;
+   }measurement_parameters_description_struct_s_5_value;
+   ispresent measurement_parameters_description_struct_s_7_tag;
+   union measurement_parameters_description_struct_s_7_value{
+      measurement_parameters_description_struct_s_8 m_measurement_parameters_description_struct_s_8;
+   }measurement_parameters_description_struct_s_7_value;
+   ispresent measurement_parameters_description_struct_s_9_tag;
+   union measurement_parameters_description_struct_s_9_value{
+      measurement_parameters_description_struct_s_10 m_measurement_parameters_description_struct_s_10;
+   }measurement_parameters_description_struct_s_9_value;
+   ispresent measurement_parameters_description_struct_s_11_tag;
+   union measurement_parameters_description_struct_s_11_value{
+      measurement_parameters_description_struct_s_12 m_measurement_parameters_description_struct_s_12;
+   }measurement_parameters_description_struct_s_11_value;
+}measurement_parameters_description_struct;
+
+typedef struct p_3_g_measurement_parameters_description_struct_mi_s_3{
+   U8 fdd_reporting_offset;
+   U8 fdd_reporting_threshold;
+}p_3_g_measurement_parameters_description_struct_mi_s_3;
+
+typedef struct p_3_g_measurement_parameters_description_struct_mi_s_6{
+   U8 tdd_reporting_offset;
+   U8 tdd_reporting_threshold;
+}p_3_g_measurement_parameters_description_struct_mi_s_6;
+
+typedef struct p_3_g_measurement_parameters_description_struct_mi_s_9{
+   U8 cdma2000_reporting_offset;
+   U8 cdma2000_reporting_threshold;
+}p_3_g_measurement_parameters_description_struct_mi_s_9;
+
+/* SEQUENCE 3 g measurement parameters description struct mi */
+typedef struct p_3_g_measurement_parameters_description_struct_mi{
+   U8 qsearch_c;
+   U8 p_3_g_search_prio;
+   U8 fdd_rep_quant;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_1_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_1_value{
+      U8 fdd_multirat_reporting;
+   }p_3_g_measurement_parameters_description_struct_mi_s_1_value;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_2_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_2_value{
+      p_3_g_measurement_parameters_description_struct_mi_s_3 m_p_3_g_measurement_parameters_description_struct_mi_s_3;
+   }p_3_g_measurement_parameters_description_struct_mi_s_2_value;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_4_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_4_value{
+      U8 tdd_multirat_reporting;
+   }p_3_g_measurement_parameters_description_struct_mi_s_4_value;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_5_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_5_value{
+      p_3_g_measurement_parameters_description_struct_mi_s_6 m_p_3_g_measurement_parameters_description_struct_mi_s_6;
+   }p_3_g_measurement_parameters_description_struct_mi_s_5_value;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_7_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_7_value{
+      U8 cdma2000_multirat_reporting;
+   }p_3_g_measurement_parameters_description_struct_mi_s_7_value;
+   ispresent p_3_g_measurement_parameters_description_struct_mi_s_8_tag;
+   union p_3_g_measurement_parameters_description_struct_mi_s_8_value{
+      p_3_g_measurement_parameters_description_struct_mi_s_9 m_p_3_g_measurement_parameters_description_struct_mi_s_9;
+   }p_3_g_measurement_parameters_description_struct_mi_s_8_value;
+}p_3_g_measurement_parameters_description_struct_mi;
+
+/* SEQUENCE 3 g additional measurement parameters description 2 struct */
+typedef struct p_3_g_additional_measurement_parameters_description_2_struct{
+   ispresent p_3_g_additional_measurement_parameters_description_2_struct_s_0_tag;
+   union p_3_g_additional_measurement_parameters_description_2_struct_s_0_value{
+      U8 fdd_reporting_threshold_2;
+   }p_3_g_additional_measurement_parameters_description_2_struct_s_0_value;
+}p_3_g_additional_measurement_parameters_description_2_struct;
+
+/* SEQUENCE repeated utran measurement control parameters struct */
+typedef struct repeated_utran_measurement_control_parameters_struct{
+   U16 numElements_utran_frequency_index;
+   U8 * utran_frequency_index;
+   U8 measurement_control_utran;
+}repeated_utran_measurement_control_parameters_struct;
+
+typedef struct not_allowed_cells_struct_s_3{
+   U8 pcid_pattern_length;
+   U16 numElements_pcid_pattern;
+   U8 * pcid_pattern;
+   U8 pcid_pattern_sense;
+}not_allowed_cells_struct_s_3;
+
+/* SEQUENCE not allowed cells struct */
+typedef struct not_allowed_cells_struct{
+   U16 numElements_pcid;
+   U16 * pcid;
+   ispresent not_allowed_cells_struct_s_2_tag;
+   union not_allowed_cells_struct_s_2_value{
+      U8 pcid_bitmap_group;
+   }not_allowed_cells_struct_s_2_value;
+   U16 numElements_m_not_allowed_cells_struct_s_3;
+   not_allowed_cells_struct_s_3 * m_not_allowed_cells_struct_s_3;
+}not_allowed_cells_struct;
+
+/* SEQUENCE cs serving cell data struct */
+typedef struct cs_serving_cell_data_struct{
+   U8 dtx_used;
+   U8 rxlev_val;
+   U8 rx_qual_full;
+   U8 mean_bep;
+   U8 cv_bep;
+   U8 nbr_rcvd_blocks;
+}cs_serving_cell_data_struct;
+
+/* SEQUENCE repeated invalid_bsic_information struct */
+typedef struct repeated_invalid_bsic_information_struct{
+   U8 bcch_freq_ncell;
+   U8 bsic;
+   U8 rxlev_ncell;
+}repeated_invalid_bsic_information_struct;
+
+typedef struct e_utran_measurement_report_struct_s_1{
+   U8 e_utran_frequency_index;
+   U16 cell_identity;
+   U8 reporting_quantity;
+}e_utran_measurement_report_struct_s_1;
+
+/* SEQUENCE e-utran measurement report struct */
+typedef struct e_utran_measurement_report_struct{
+   U8 n_e_utran;
+   U16 numElements_m_e_utran_measurement_report_struct_s_1;
+   e_utran_measurement_report_struct_s_1 * m_e_utran_measurement_report_struct_s_1;
+}e_utran_measurement_report_struct;
+
+typedef U8 extended_measurement_report_type_struct;
+
+/* SEQUENCE gas_extended_meas_results_struct */
+typedef struct gas_extended_meas_results_struct{
+   U8 sc_used;
+   U8 dtx_used;
+   U8 rxlev_carrier0;
+   U8 rxlev_carrier1;
+   U8 rxlev_carrier2;
+   U8 rxlev_carrier3;
+   U8 rxlev_carrier4;
+   U8 rxlev_carrier5;
+   U8 rxlev_carrier6;
+   U8 rxlev_carrier7;
+   U8 rxlev_carrier8;
+   U8 rxlev_carrier9;
+   U8 rxlev_carrier10;
+   U8 rxlev_carrier11;
+   U8 rxlev_carrier12;
+   U8 rxlev_carrier13;
+   U8 rxlev_carrier14;
+   U8 rxlev_carrier15;
+   U8 rxlev_carrier16;
+   U8 rxlev_carrier17;
+   U8 rxlev_carrier18;
+   U8 rxlev_carrier19;
+   U8 rxlev_carrier20;
+}gas_extended_meas_results_struct;
+
+typedef U8 measurement_report_type_struct;
+
+/* SEQUENCE ncell report struct */
+typedef struct ncell_report_struct{
+   U8 rxlev_ncell;
+   U8 bcch_freq_ncell;
+   U8 bsic_ncell;
+}ncell_report_struct;
+
+typedef U8 gprs_suspension_req_type_struct;
+
+typedef U32 gas_tlli_struct;
+
+/* SEQUENCE gas_rai_struct */
+typedef struct gas_rai_struct{
+   U8 mcc_digit2;
+   U8 mcc_digit1;
+   U8 mnc_digit3;
+   U8 mcc_digit3;
+   U8 mnc_digit2;
+   U8 mnc_digit1;
+   U8 lac;
+   U8 rac;
+}gas_rai_struct;
+
+typedef U8 gas_suspension_cause_struct;
+
+typedef U8 handover_failure_type_struct;
+
+typedef U8 handover_complete_type_struct;
+
+/* SEQUENCE gas_mobile_time_difference_struct */
+typedef struct gas_mobile_time_difference_struct{
+   U32 otd_value;
+}gas_mobile_time_difference_struct;
+
+#if 0
+/* under construction !*/
+#endif
+
+typedef U8 assignment_complete_type_struct;
+
+typedef U8 gas_rr_cause_struct;
+
+typedef U8 paging_response_type_struct;
+
+/* DEFINED gas_spare_bit_struct */
+typedef struct gas_spare_bit_struct{
+   U8 nousebit;
+}gas_spare_bit_struct;
+
+typedef U8 gas_ciphering_key_sn_struct;
+
+/* SEQUENCE gas_ms_classmark_struct */
+typedef struct gas_ms_classmark_struct{
+   U8 length;
+   U8 revision_level;
+   U8 es_ind;
+   U8 a5_1;
+   U8 rf_capability;
+   U8 ps_capa;
+   U8 ss_screen_ind;
+   U8 sm_capabi;
+   U8 vbs;
+   U8 vgcs;
+   U8 fc;
+   U8 cm3;
+   U8 lcs_cap;
+   U8 ucs2;
+   U8 solsa;
+   U8 cmsp;
+   U8 a5_3;
+   U8 a5_2;
+}gas_ms_classmark_struct;
+
+typedef struct gas_additional_update_parameter_struct{
+	U8 IEI;
+	U8 CSMO;
+	U8 CSMT;
+}gas_additional_update_parameter_struct;
+
+/* SEQUENCE gas_l2_pseudo_length_struct */
+typedef struct gas_l2_pseudo_length_struct{
+   U8 length;
+   U8 fixed_valuefield;
+}gas_l2_pseudo_length_struct;
+
+typedef U8 gas_skip_indicator_struct;
+
+typedef U8 gas_protocol_disc_struct;
+
+typedef U8 paging_request_struct;
+
+/* SEQUENCE gas_channels_needed_struct */
+typedef struct gas_channels_needed_struct{
+   U8 channel_second;
+   U8 channel_first;
+}gas_channels_needed_struct;
+
+/* SEQUENCE gas_page_mode_struct */
+typedef struct gas_page_mode_struct{
+   U8 page_mode;
+}gas_page_mode_struct;
+
+/* SEQUENCE gas_mobile_identity_struct_2 */
+typedef struct gas_mobile_identity_struct_2{
+   U8 digit0;
+   U8 odd_or_even;
+   U8 identity_type;
+   U16 numElements_digit_byte;
+   U8 * digit_byte;
+}gas_mobile_identity_struct_2;
+
+/* SEQUENCE gas_nln_status_struct */
+typedef struct gas_nln_status_struct{
+   U8 pch;
+   U8 status;
+}gas_nln_status_struct;
+
+/* SEQUENCE hcs struct 1 */
+typedef struct hcs_struct_1{
+   U8 priority_class;
+   U8 hcs_thr;
+}hcs_struct_1;
+
+typedef enum {
+   UPLINK_TFI,
+   DOWNLINK_TFI
+}global_tfi_ie_s_0_enum;
+
+/* SEQUENCE global tfi ie */
+typedef struct global_tfi_ie{
+   global_tfi_ie_s_0_enum global_tfi_ie_s_0_tag;
+   union global_tfi_ie_s_0_value{
+      U8 uplink_tfi;
+      U8 downlink_tfi;
+   }global_tfi_ie_s_0_value;
+}global_tfi_ie;
+
+/* SEQUENCE packet request reference ie */
+typedef struct packet_request_reference_ie{
+   U16 random_access_information_value;
+   U16 frame_number;
+}packet_request_reference_ie;
+
+typedef struct packet_timing_advance_ie_s_3{
+   U8 timing_advance_index;
+   U8 timing_advance_timeslot_number;
+}packet_timing_advance_ie_s_3;
+
+/* SEQUENCE packet timing advance ie */
+typedef struct packet_timing_advance_ie{
+   ispresent packet_timing_advance_ie_s_1_tag;
+   union packet_timing_advance_ie_s_1_value{
+      U8 timing_advance_value;
+   }packet_timing_advance_ie_s_1_value;
+   ispresent packet_timing_advance_ie_s_2_tag;
+   union packet_timing_advance_ie_s_2_value{
+      packet_timing_advance_ie_s_3 m_packet_timing_advance_ie_s_3;
+   }packet_timing_advance_ie_s_2_value;
+}packet_timing_advance_ie;
+
+/* SEQUENCE compact reduced ma ie */
+typedef struct compact_reduced_ma_ie{
+   U8 length_of_reduced_ma_bitmap;
+   U16 numElements_reduced_ma_bitmap;
+   U8 * reduced_ma_bitmap;
+   ispresent compact_reduced_ma_ie_s_1_tag;
+   union compact_reduced_ma_ie_s_1_value{
+      U8 maio_2;
+   }compact_reduced_ma_ie_s_1_value;
+}compact_reduced_ma_ie;
+
+typedef struct indirect_encoding_struct_s_2{
+   U8 change_mark_1;
+   ispresent indirect_encoding_struct_s_3_tag;
+   union indirect_encoding_struct_s_3_value{
+      U8 change_mark_2;
+   }indirect_encoding_struct_s_3_value;
+}indirect_encoding_struct_s_2;
+
+/* SEQUENCE indirect encoding struct */
+typedef struct indirect_encoding_struct{
+   U8 maio;
+   U8 ma_number;
+   ispresent indirect_encoding_struct_s_1_tag;
+   union indirect_encoding_struct_s_1_value{
+      indirect_encoding_struct_s_2 m_indirect_encoding_struct_s_2;
+   }indirect_encoding_struct_s_1_value;
+}indirect_encoding_struct;
+
+/* SEQUENCE direct encoding 2 struct */
+typedef struct direct_encoding_2_struct{
+   U8 maio;
+   U8 hsn;
+   U8 length_of_ma_frequency_list_contents;
+   U16 numElements_ma_frequency_list_contents;
+   U8 * ma_frequency_list_contents;
+}direct_encoding_2_struct;
+
+typedef enum {
+   GPRS_MOBILE_ALLOCATION_IE_S_3,
+   GPRS_MOBILE_ALLOCATION_IE_S_4
+}gprs_mobile_allocation_ie_s_2_enum;
+
+typedef struct gprs_mobile_allocation_ie_s_3{
+   U8 ma_length;
+   U16 numElements_ma_bitmap;
+   U8 * ma_bitmap;
+}gprs_mobile_allocation_ie_s_3;
+
+typedef struct gprs_mobile_allocation_ie_s_4{
+   ispresent gprs_mobile_allocation_ie_s_4_tag;
+   union gprs_mobile_allocation_ie_s_4_value{
+      struct arfcn_index_list_struct_1 * arfcn_index_list;
+   }gprs_mobile_allocation_ie_s_4_value;
+}gprs_mobile_allocation_ie_s_4;
+
+/* SEQUENCE gprs mobile allocation ie */
+typedef struct gprs_mobile_allocation_ie{
+   U8 hsn;
+   ispresent gprs_mobile_allocation_ie_s_1_tag;
+   union gprs_mobile_allocation_ie_s_1_value{
+      struct rfl_number_list_struct_1 * rfl_number_list;
+   }gprs_mobile_allocation_ie_s_1_value;
+   gprs_mobile_allocation_ie_s_2_enum gprs_mobile_allocation_ie_s_2_tag;
+   union gprs_mobile_allocation_ie_s_2_value{
+      gprs_mobile_allocation_ie_s_3 m_gprs_mobile_allocation_ie_s_3;
+      gprs_mobile_allocation_ie_s_4 m_gprs_mobile_allocation_ie_s_4;
+   }gprs_mobile_allocation_ie_s_2_value;
+}gprs_mobile_allocation_ie;
+
+/* SEQUENCE rfl number list struct 1 */
+typedef struct rfl_number_list_struct_1{
+   U8 rfl_number;
+   ispresent rfl_number_list_struct_1_s_1_tag;
+   union rfl_number_list_struct_1_s_1_value{
+      struct rfl_number_list_struct_1 * m_rfl_number_list_struct_1;
+   }rfl_number_list_struct_1_s_1_value;
+}rfl_number_list_struct_1;
+
+/* SEQUENCE arfcn index list struct 1 */
+typedef struct arfcn_index_list_struct_1{
+   U8 arfcn_index;
+   ispresent arfcn_index_list_struct_1_s_1_tag;
+   union arfcn_index_list_struct_1_s_1_value{
+      struct arfcn_index_list_struct_1 * m_arfcn_index_list_struct_1;
+   }arfcn_index_list_struct_1_s_1_value;
+}arfcn_index_list_struct_1;
+
+/* SEQUENCE utran fdd target cell ie */
+typedef struct utran_fdd_target_cell_ie{
+   U16 fdd_arfcn;
+   U8 diversity;
+   ispresent utran_fdd_target_cell_ie_s_1_tag;
+   union utran_fdd_target_cell_ie_s_1_value{
+      U8 bandwidth_fdd;
+   }utran_fdd_target_cell_ie_s_1_value;
+   U16 scrambling_code;
+}utran_fdd_target_cell_ie;
+
+/* SEQUENCE utran tdd target cell ie */
+typedef struct utran_tdd_target_cell_ie{
+   U16 tdd_arfcn;
+   U8 diversity_tdd;
+   ispresent utran_tdd_target_cell_ie_s_1_tag;
+   union utran_tdd_target_cell_ie_s_1_value{
+      U8 bandwidth_tdd;
+   }utran_tdd_target_cell_ie_s_1_value;
+   U8 cell_parameter;
+   U8 sync_case_tstd;
+}utran_tdd_target_cell_ie;
+
+typedef enum {
+   LSA_ID,
+   SHORTLSA_ID
+}lsa_id_information_struct_s_2_enum;
+
+typedef struct lsa_id_information_struct_s_1{
+   lsa_id_information_struct_s_2_enum lsa_id_information_struct_s_2_tag;
+   union lsa_id_information_struct_s_2_value{
+      U32 lsa_id;
+      U16 shortlsa_id;
+   }lsa_id_information_struct_s_2_value;
+}lsa_id_information_struct_s_1;
+
+/* SEQUENCE lsa id information struct */
+typedef struct lsa_id_information_struct{
+   U16 numElements_m_lsa_id_information_struct_s_1;
+   lsa_id_information_struct_s_1 * m_lsa_id_information_struct_s_1;
+}lsa_id_information_struct;
+
+typedef struct power_control_parameters_ie_s_1{
+   ispresent power_control_parameters_ie_s_1_tag;
+   union power_control_parameters_ie_s_1_value{
+      U8 gamma_tn;
+   }power_control_parameters_ie_s_1_value;
+}power_control_parameters_ie_s_1;
+
+/* SEQUENCE power control parameters ie */
+typedef struct power_control_parameters_ie{
+   U8 alpha;
+   power_control_parameters_ie_s_1  m_power_control_parameters_ie_s_1[8];
+}power_control_parameters_ie;
+
+typedef struct removed_3gcell_description_struct_s_2{
+   U8 removed_3gcell_index;
+   U8 p_3_g_cell_diff_length;
+   U16 numElements_p_3_gcell_diff;
+   U8 * p_3_gcell_diff;
+}removed_3gcell_description_struct_s_2;
+
+typedef struct removed_3gcell_description_struct_s_1{
+   U8 n2;
+   U16 numElements_m_removed_3gcell_description_struct_s_2;
+   removed_3gcell_description_struct_s_2 * m_removed_3gcell_description_struct_s_2;
+}removed_3gcell_description_struct_s_1;
+
+/* SEQUENCE removed_3gcell_description struct */
+typedef struct removed_3gcell_description_struct{
+   U8 n1;
+   U16 numElements_m_removed_3gcell_description_struct_s_1;
+   removed_3gcell_description_struct_s_1 * m_removed_3gcell_description_struct_s_1;
+}removed_3gcell_description_struct;
+
+/* SEQUENCE repeated utran fdd neighbour cells struct */
+typedef struct repeated_utran_fdd_neighbour_cells_struct{
+   U16 fdd_arfcn;
+   U8 fdd_indic0;
+   U8 nr_of_fdd_cells;
+   U16 numElements_fdd_cell_information_field;
+   U8 * fdd_cell_information_field;
+}repeated_utran_fdd_neighbour_cells_struct;
+
+/* SEQUENCE repeated utran tdd neighbour cells struct */
+typedef struct repeated_utran_tdd_neighbour_cells_struct{
+   U8 tdd_indic0;
+   U16 tdd_arfcn;
+   U8 nr_of_tdd_cells;
+   U16 numElements_tdd_cell_information_field;
+   U8 * tdd_cell_information_field;
+}repeated_utran_tdd_neighbour_cells_struct;
+
+/* SEQUENCE gprs rep priority description struct */
+typedef struct gprs_rep_priority_description_struct{
+   U8 number_cells;
+   U16 numElements_rep_priority;
+   U8 * rep_priority;
+}gprs_rep_priority_description_struct;
+
+typedef struct gprs_measurement_parameters_description_struct_s_4{
+   U8 p_900__reporting_offset;
+   U8 p_900__reporting_threshold;
+}gprs_measurement_parameters_description_struct_s_4;
+
+typedef struct gprs_measurement_parameters_description_struct_s_6{
+   U8 p_1800__reporting_offset;
+   U8 p_1800__reporting_threshold;
+}gprs_measurement_parameters_description_struct_s_6;
+
+typedef struct gprs_measurement_parameters_description_struct_s_8{
+   U8 p_400__reporting_offset;
+   U8 p_400__reporting_threshold;
+}gprs_measurement_parameters_description_struct_s_8;
+
+typedef struct gprs_measurement_parameters_description_struct_s_10{
+   U8 p_1900__reporting_offset;
+   U8 p_1900__reporting_threshold;
+}gprs_measurement_parameters_description_struct_s_10;
+
+typedef struct gprs_measurement_parameters_description_struct_s_12{
+   U8 p_850__reporting_offset;
+   U8 p_850__reporting_threshold;
+}gprs_measurement_parameters_description_struct_s_12;
+
+/* SEQUENCE gprs measurement parameters description struct */
+typedef struct gprs_measurement_parameters_description_struct{
+   ispresent gprs_measurement_parameters_description_struct_s_1_tag;
+   union gprs_measurement_parameters_description_struct_s_1_value{
+      U8 multiband_reporting;
+   }gprs_measurement_parameters_description_struct_s_1_value;
+   ispresent gprs_measurement_parameters_description_struct_s_2_tag;
+   union gprs_measurement_parameters_description_struct_s_2_value{
+      U8 serving_band_reporting;
+   }gprs_measurement_parameters_description_struct_s_2_value;
+   U8 scale_ord;
+   ispresent gprs_measurement_parameters_description_struct_s_3_tag;
+   union gprs_measurement_parameters_description_struct_s_3_value{
+      gprs_measurement_parameters_description_struct_s_4 m_gprs_measurement_parameters_description_struct_s_4;
+   }gprs_measurement_parameters_description_struct_s_3_value;
+   ispresent gprs_measurement_parameters_description_struct_s_5_tag;
+   union gprs_measurement_parameters_description_struct_s_5_value{
+      gprs_measurement_parameters_description_struct_s_6 m_gprs_measurement_parameters_description_struct_s_6;
+   }gprs_measurement_parameters_description_struct_s_5_value;
+   ispresent gprs_measurement_parameters_description_struct_s_7_tag;
+   union gprs_measurement_parameters_description_struct_s_7_value{
+      gprs_measurement_parameters_description_struct_s_8 m_gprs_measurement_parameters_description_struct_s_8;
+   }gprs_measurement_parameters_description_struct_s_7_value;
+   ispresent gprs_measurement_parameters_description_struct_s_9_tag;
+   union gprs_measurement_parameters_description_struct_s_9_value{
+      gprs_measurement_parameters_description_struct_s_10 m_gprs_measurement_parameters_description_struct_s_10;
+   }gprs_measurement_parameters_description_struct_s_9_value;
+   ispresent gprs_measurement_parameters_description_struct_s_11_tag;
+   union gprs_measurement_parameters_description_struct_s_11_value{
+      gprs_measurement_parameters_description_struct_s_12 m_gprs_measurement_parameters_description_struct_s_12;
+   }gprs_measurement_parameters_description_struct_s_11_value;
+}gprs_measurement_parameters_description_struct;
+
+typedef struct gprs_3_g_measurement_parameters_bis_description_struct_s_2{
+   U8 fdd_rep_quant;
+   U8 fdd_multirat_reporting;
+}gprs_3_g_measurement_parameters_bis_description_struct_s_2;
+
+typedef struct gprs_3_g_measurement_parameters_bis_description_struct_s_4{
+   U8 fdd_reporting_offset;
+   U8 fdd_reporting_threshold;
+}gprs_3_g_measurement_parameters_bis_description_struct_s_4;
+
+typedef struct gprs_3_g_measurement_parameters_bis_description_struct_s_7{
+   U8 tdd_reporting_offset;
+   U8 tdd_reporting_threshold;
+}gprs_3_g_measurement_parameters_bis_description_struct_s_7;
+
+typedef struct gprs_3_g_measurement_parameters_bis_description_struct_s_10{
+   U8 cdma2000_reporting_offset;
+   U8 cdma2000_reporting_threshold;
+}gprs_3_g_measurement_parameters_bis_description_struct_s_10;
+
+/* SEQUENCE gprs 3 g measurement parameters bis description struct */
+typedef struct gprs_3_g_measurement_parameters_bis_description_struct{
+   U8 qsearch_p;
+   U8 p_3_g_search_prio;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_1_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_1_value{
+      gprs_3_g_measurement_parameters_bis_description_struct_s_2 m_gprs_3_g_measurement_parameters_bis_description_struct_s_2;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_1_value;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_3_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_3_value{
+      gprs_3_g_measurement_parameters_bis_description_struct_s_4 m_gprs_3_g_measurement_parameters_bis_description_struct_s_4;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_3_value;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_5_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_5_value{
+      U8 tdd_multirat_reporting;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_5_value;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_6_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_6_value{
+      gprs_3_g_measurement_parameters_bis_description_struct_s_7 m_gprs_3_g_measurement_parameters_bis_description_struct_s_7;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_6_value;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_8_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_8_value{
+      U8 cdma2000_multirat_reporting;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_8_value;
+   ispresent gprs_3_g_measurement_parameters_bis_description_struct_s_9_tag;
+   union gprs_3_g_measurement_parameters_bis_description_struct_s_9_value{
+      gprs_3_g_measurement_parameters_bis_description_struct_s_10 m_gprs_3_g_measurement_parameters_bis_description_struct_s_10;
+   }gprs_3_g_measurement_parameters_bis_description_struct_s_9_value;
+}gprs_3_g_measurement_parameters_bis_description_struct;
+
+/* SEQUENCE ccn support description struct */
+typedef struct ccn_support_description_struct{
+   U8 number_cells;
+   U16 numElements_ccn_supported;
+   U8 * ccn_supported;
+}ccn_support_description_struct;
+
+/* SEQUENCE gprs 3 g additional measurement parameters description 2 struct */
+typedef struct gprs_3_g_additional_measurement_parameters_description_2_struct{
+   ispresent gprs_3_g_additional_measurement_parameters_description_2_struct_s_0_tag;
+   union gprs_3_g_additional_measurement_parameters_description_2_struct_s_0_value{
+      U8 fdd_reporting_threshold_2;
+   }gprs_3_g_additional_measurement_parameters_description_2_struct_s_0_value;
+}gprs_3_g_additional_measurement_parameters_description_2_struct;
+
+typedef enum {
+   CDMA2000_DESCRIPTION_STRUCT_S_4,
+   CDMA2000_DESCRIPTION_STRUCT_S_5,
+   CDMA2000_DESCRIPTION_STRUCT_S_6,
+   CDMA2000_DESCRIPTION_STRUCT_S_7,
+   CDMA2000_DESCRIPTION_STRUCT_S_8
+}cdma2000_description_struct_s_3_enum;
+
+typedef struct cdma2000_description_struct_s_4{
+   U8 td_mode;
+   U8 td_power_level;
+}cdma2000_description_struct_s_4;
+
+typedef struct cdma2000_description_struct_s_5{
+   U8 qof;
+   U8 walsh_len_a;
+   U16 numElements_aux_pilot_walsh;
+   U8 * aux_pilot_walsh;
+}cdma2000_description_struct_s_5;
+
+typedef struct cdma2000_description_struct_s_6{
+   U8 qof;
+   U8 walsh_len_b;
+   U16 numElements_aux_td_walsh;
+   U8 * aux_td_walsh;
+   U8 aux_td_power_level;
+   U8 td_mode;
+}cdma2000_description_struct_s_6;
+
+typedef struct cdma2000_description_struct_s_7{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+}cdma2000_description_struct_s_7;
+
+typedef struct cdma2000_description_struct_s_10{
+   U8 qof1;
+   U8 walsh_length1;
+   U16 numElements_aux_pilot_walsh1;
+   U8 * aux_pilot_walsh1;
+}cdma2000_description_struct_s_10;
+
+typedef struct cdma2000_description_struct_s_12{
+   U8 qof2;
+   U8 walsh_length2;
+   U16 numElements_aux_pilot_walsh2;
+   U8 * aux_pilot_walsh2;
+}cdma2000_description_struct_s_12;
+
+typedef struct cdma2000_description_struct_s_8{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+   U8 qof;
+   U8 walsh_len_c;
+   U16 numElements_aux_walsh_len;
+   U8 * aux_walsh_len;
+   ispresent cdma2000_description_struct_s_9_tag;
+   union cdma2000_description_struct_s_9_value{
+      cdma2000_description_struct_s_10 m_cdma2000_description_struct_s_10;
+   }cdma2000_description_struct_s_9_value;
+   ispresent cdma2000_description_struct_s_11_tag;
+   union cdma2000_description_struct_s_11_value{
+      cdma2000_description_struct_s_12 m_cdma2000_description_struct_s_12;
+   }cdma2000_description_struct_s_11_value;
+}cdma2000_description_struct_s_8;
+
+typedef struct cdma2000_description_struct_s_3{
+   cdma2000_description_struct_s_3_enum cdma2000_description_struct_s_3_tag;
+   union cdma2000_description_struct_s_3_value{
+      cdma2000_description_struct_s_4 m_cdma2000_description_struct_s_4;
+      cdma2000_description_struct_s_5 m_cdma2000_description_struct_s_5;
+      cdma2000_description_struct_s_6 m_cdma2000_description_struct_s_6;
+      cdma2000_description_struct_s_7 m_cdma2000_description_struct_s_7;
+      cdma2000_description_struct_s_8 m_cdma2000_description_struct_s_8;
+   }cdma2000_description_struct_s_3_value;
+}cdma2000_description_struct_s_3;
+
+typedef struct cdma2000_description_struct_s_1{
+   U16 pilot_pn_offset;
+   ispresent cdma2000_description_struct_s_2_tag;
+   union cdma2000_description_struct_s_2_value{
+      cdma2000_description_struct_s_3 m_cdma2000_description_struct_s_3;
+   }cdma2000_description_struct_s_2_value;
+}cdma2000_description_struct_s_1;
+
+/* SEQUENCE cdma2000 description struct */
+typedef struct cdma2000_description_struct{
+   U8 cdma2000_frequency_band;
+   U16 cdma2000_frequency;
+   U8 number_cdma2000_cells;
+   U16 numElements_m_cdma2000_description_struct_s_1;
+   cdma2000_description_struct_s_1 * m_cdma2000_description_struct_s_1;
+}cdma2000_description_struct;
+
+/* SEQUENCE global power control parameters ie */
+typedef struct global_power_control_parameters_ie{
+   U8 alpha;
+   U8 t_avg_w;
+   U8 t_avg_t;
+   U8 pb;
+   U8 pc_meas_chan;
+   U8 int_meas_channel_list_avail;
+   U8 n_avg_i;
+}global_power_control_parameters_ie;
+
+typedef struct global_packet_timing_advance_ie_s_3{
+   U8 uplink_timing_advance_index;
+   U8 uplink_timing_advance_timeslot_number;
+}global_packet_timing_advance_ie_s_3;
+
+typedef struct global_packet_timing_advance_ie_s_5{
+   U8 downlink_timing_advance_index;
+   U8 downlink_timing_advance_timeslot_number;
+}global_packet_timing_advance_ie_s_5;
+
+/* SEQUENCE global packet timing advance ie */
+typedef struct global_packet_timing_advance_ie{
+   ispresent global_packet_timing_advance_ie_s_1_tag;
+   union global_packet_timing_advance_ie_s_1_value{
+      U8 timing_advance_value;
+   }global_packet_timing_advance_ie_s_1_value;
+   ispresent global_packet_timing_advance_ie_s_2_tag;
+   union global_packet_timing_advance_ie_s_2_value{
+      global_packet_timing_advance_ie_s_3 m_global_packet_timing_advance_ie_s_3;
+   }global_packet_timing_advance_ie_s_2_value;
+   ispresent global_packet_timing_advance_ie_s_4_tag;
+   union global_packet_timing_advance_ie_s_4_value{
+      global_packet_timing_advance_ie_s_5 m_global_packet_timing_advance_ie_s_5;
+   }global_packet_timing_advance_ie_s_4_value;
+}global_packet_timing_advance_ie;
+
+typedef enum {
+   CONTAINER_DATA,
+   CONTAINER_DATA_1,
+   M_PADDING_BITS
+}exclusion_choice_enum;
+
+typedef struct container_data{
+   U16 numElements_container_data;
+   U8 * container_data;
+}container_data;
+
+typedef struct container_data_1{
+   U16 numElements_container_data_1;
+   U8 * container_data_1;
+}container_data_1;
+
+/* SEQUENCE container repetition struct */
+typedef struct container_repetition_struct{
+   U8 pd;
+   exclusion_choice_enum exclusion_choice_tag;
+   U8 cd_length;
+   union exclusion_choice_value{
+      container_data m_container_data;
+      container_data_1 m_container_data_1;
+   }exclusion_choice_value;
+}container_repetition_struct;
+
+typedef struct extension_information_for_gprs_s_3{
+   U8 egprs_packet_channel_request;
+   U8 bep_period;
+}extension_information_for_gprs_s_3;
+
+typedef struct extension_information_for_gprs_s_7{
+   U8 dedicated_mode_mbms_notification_support;
+   U8 mnci_support;
+}extension_information_for_gprs_s_7;
+
+/* SEQUENCE extension information for gprs */
+typedef struct extension_information_for_gprs{
+   Bool is_extension_information_for_gprs_s_1_present; //truncation or optional 
+   ispresent extension_information_for_gprs_s_2_tag;
+   union extension_information_for_gprs_s_2_value{
+      extension_information_for_gprs_s_3 m_extension_information_for_gprs_s_3;
+   }extension_information_for_gprs_s_2_value;
+   U8 pfc_feature_mode;
+   U8 dtm_support;
+   U8 bss_paging_coordination;
+   Bool is_extension_information_for_gprs_s_4_present; //truncation or optional 
+   U8 ccn_active;
+   U8 nw_ext_utbf;
+   Bool is_extension_information_for_gprs_s_5_present; //truncation or optional 
+   U8 multiple_tbf_capability;
+   U8 ext_utbf_no_data;
+   U8 dtm_enhancements_capability;
+   ispresent extension_information_for_gprs_s_6_tag;
+   union extension_information_for_gprs_s_6_value{
+      extension_information_for_gprs_s_7 m_extension_information_for_gprs_s_7;
+   }extension_information_for_gprs_s_6_value;
+}extension_information_for_gprs;
+
+/* SEQUENCE pccch organization parameters ie */
+typedef struct pccch_organization_parameters_ie{
+   U8 bs_pcc_rel;
+   U8 bs_pbcch_blks;
+   U8 bs_pag_blks_res;
+   U8 bs_prach_blks;
+}pccch_organization_parameters_ie;
+
+/* SEQUENCE cell identification ie */
+typedef struct cell_identification_ie{
+   U8 location_area_identification_ie[5];
+   U8 rac;
+   U8 cell_identity_ie[2];
+}cell_identification_ie;
+
+/* SEQUENCE extension information for non gprs */
+typedef struct extension_information_for_non_gprs{
+   U8 ecsc;
+   U8 p_3_g_ecsr;
+}extension_information_for_non_gprs;
+
+typedef enum {
+   SI13_LOCATION,
+   SI13_PBCCH_LOCATION_STRUCT_1_S_1
+}si13_pbcch_location_struct_1_s_0_enum;
+
+typedef struct si13_pbcch_location_struct_1_s_1{
+   U8 pbcch_location;
+   U8 psi1_repeat_period;
+}si13_pbcch_location_struct_1_s_1;
+
+/* SEQUENCE si13_pbcch_location struct 1 */
+typedef struct si13_pbcch_location_struct_1{
+   si13_pbcch_location_struct_1_s_0_enum si13_pbcch_location_struct_1_s_0_tag;
+   union si13_pbcch_location_struct_1_s_0_value{
+      U8 si13_location;
+      si13_pbcch_location_struct_1_s_1 m_si13_pbcch_location_struct_1_s_1;
+   }si13_pbcch_location_struct_1_s_0_value;
+}si13_pbcch_location_struct_1;
+
+typedef struct cell_selection_struct_2_s_2{
+   U8 gprs_rxlev_access_min;
+   U8 gprs_ms_txpwr_max_cch;
+}cell_selection_struct_2_s_2;
+
+typedef struct cell_selection_struct_2_s_4{
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+}cell_selection_struct_2_s_4;
+
+/* SEQUENCE cell selection struct 2 */
+typedef struct cell_selection_struct_2{
+   U8 bsic;
+   U8 cell_bar_access_2;
+   U8 exc_acc;
+   U8 same_ra_as_serving_cell;
+   ispresent cell_selection_struct_2_s_1_tag;
+   union cell_selection_struct_2_s_1_value{
+      cell_selection_struct_2_s_2 m_cell_selection_struct_2_s_2;
+   }cell_selection_struct_2_s_1_value;
+   ispresent cell_selection_struct_2_s_3_tag;
+   union cell_selection_struct_2_s_3_value{
+      cell_selection_struct_2_s_4 m_cell_selection_struct_2_s_4;
+   }cell_selection_struct_2_s_3_value;
+   ispresent cell_selection_struct_2_s_5_tag;
+   union cell_selection_struct_2_s_5_value{
+      U8 gprs_reselect_offset;
+   }cell_selection_struct_2_s_5_value;
+   ispresent cell_selection_struct_2_s_6_tag;
+   union cell_selection_struct_2_s_6_value{
+      hcs_struct_1 hcs_params;
+   }cell_selection_struct_2_s_6_value;
+   ispresent cell_selection_struct_2_s_7_tag;
+   union cell_selection_struct_2_s_7_value{
+      si13_pbcch_location_struct_1 si13_pbcch_location;
+   }cell_selection_struct_2_s_7_value;
+}cell_selection_struct_2;
+
+/* SEQUENCE gprs power control parameters struct */
+typedef struct gprs_power_control_parameters_struct{
+   U8 alpha;
+   U8 t_avg_w;
+   U8 t_avg_t;
+   U8 pc_meas_chan;
+   U8 n_avg_i;
+}gprs_power_control_parameters_struct;
+
+/* SEQUENCE ack/nack description ie */
+typedef struct ack_nack_description_ie{
+   U8 final_ack_indication;
+   U8 starting_sequence_number;
+   U16 numElements_received_block_bitmap;
+   U8 * received_block_bitmap;
+}ack_nack_description_ie;
+
+typedef struct egprs_ack_nack_description_struct_s_2{
+   U8 compressed_bitmap_length;
+   U8 compressed_bitmap_starting_color_code;
+   U16 numElements_compressed_received_block_bitmap;
+   U8 * compressed_received_block_bitmap;
+}egprs_ack_nack_description_struct_s_2;
+
+/* SEQUENCE egprs ack/nack description struct */
+typedef struct egprs_ack_nack_description_struct{
+   U8 final_ack_indication;
+   U8 beginning_of_window;
+   U8 end_of_window;
+   U16 starting_sequence_number;
+   ispresent egprs_ack_nack_description_struct_s_1_tag;
+   union egprs_ack_nack_description_struct_s_1_value{
+      egprs_ack_nack_description_struct_s_2 m_egprs_ack_nack_description_struct_s_2;
+   }egprs_ack_nack_description_struct_s_1_value;
+   U16 numElements_uncompressed_received_block_bitmap;
+   U8 * uncompressed_received_block_bitmap;
+}egprs_ack_nack_description_struct;
+
+/* SEQUENCE extension bits ie */
+typedef struct extension_bits_ie{
+   U8 extension_length;
+}extension_bits_ie;
+
+/* SEQUENCE gra id struct */
+typedef struct gra_id_struct{
+   U8 number_of_gra_ids;
+   U16 numElements_gra_id;
+   U16 * gra_id;
+}gra_id_struct;
+
+typedef U8 cn_domain_identity_ie;
+
+typedef U8 cn_domain_specific_drx_cycle_length_coefficient_ie;
+
+/* SEQUENCE utran frequency list description struct */
+typedef struct utran_frequency_list_description_struct{
+   U16 numElements_fdd_arfcn;
+   U16 * fdd_arfcn;
+   U16 numElements_tdd_arfcn;
+   U16 * tdd_arfcn;
+}utran_frequency_list_description_struct;
+
+typedef enum {
+   CONCAT_0,
+   ARFCN2,
+   MAIO
+}pbcch_description_struct_s_1_enum;
+
+/* SEQUENCE pbcch description struct */
+typedef struct pbcch_description_struct{
+   U8 pb;
+   U8 tsc;
+   U8 tn;
+   pbcch_description_struct_s_1_enum pbcch_description_struct_s_1_tag;
+   union pbcch_description_struct_s_1_value{
+      U16 arfcn2;
+      U8 maio;
+   }pbcch_description_struct_s_1_value;
+}pbcch_description_struct;
+
+/* SEQUENCE dynamic arfcn mapping */
+typedef struct dynamic_arfcn_mapping{
+   U8 gsm_band;
+   U16 arfcn_first;
+   U16 band_offset;
+   U8 arfcn_range;
+}dynamic_arfcn_mapping;
+
+/* SEQUENCE nongsm message struct */
+typedef struct nongsm_message_struct{
+   U8 nongsm_protocol_discriminator;
+   U8 nr_of_container_octets;
+   U16 numElements_container;
+   U8 * container;
+}nongsm_message_struct;
+
+typedef struct gprs_3_g_measurement_parameters_description_struct_s_2{
+   U8 fdd_rep_quant;
+   U8 fdd_multirat_reporting;
+}gprs_3_g_measurement_parameters_description_struct_s_2;
+
+typedef struct gprs_3_g_measurement_parameters_description_struct_s_4{
+   U8 fdd_reporting_offset;
+   U8 fdd_reporting_threshold;
+}gprs_3_g_measurement_parameters_description_struct_s_4;
+
+typedef struct gprs_3_g_measurement_parameters_description_struct_s_7{
+   U8 tdd_reporting_offset;
+   U8 tdd_reporting_threshold;
+}gprs_3_g_measurement_parameters_description_struct_s_7;
+
+/* SEQUENCE gprs 3 g measurement parameters description struct */
+typedef struct gprs_3_g_measurement_parameters_description_struct{
+   ispresent gprs_3_g_measurement_parameters_description_struct_s_1_tag;
+   union gprs_3_g_measurement_parameters_description_struct_s_1_value{
+      gprs_3_g_measurement_parameters_description_struct_s_2 m_gprs_3_g_measurement_parameters_description_struct_s_2;
+   }gprs_3_g_measurement_parameters_description_struct_s_1_value;
+   ispresent gprs_3_g_measurement_parameters_description_struct_s_3_tag;
+   union gprs_3_g_measurement_parameters_description_struct_s_3_value{
+      gprs_3_g_measurement_parameters_description_struct_s_4 m_gprs_3_g_measurement_parameters_description_struct_s_4;
+   }gprs_3_g_measurement_parameters_description_struct_s_3_value;
+   ispresent gprs_3_g_measurement_parameters_description_struct_s_5_tag;
+   union gprs_3_g_measurement_parameters_description_struct_s_5_value{
+      U8 tdd_multirat_reporting;
+   }gprs_3_g_measurement_parameters_description_struct_s_5_value;
+   ispresent gprs_3_g_measurement_parameters_description_struct_s_6_tag;
+   union gprs_3_g_measurement_parameters_description_struct_s_6_value{
+      gprs_3_g_measurement_parameters_description_struct_s_7 m_gprs_3_g_measurement_parameters_description_struct_s_7;
+   }gprs_3_g_measurement_parameters_description_struct_s_6_value;
+}gprs_3_g_measurement_parameters_description_struct;
+
+typedef enum {
+   CHANNEL_GROUP_STRUCT_ARFCN,
+   CHANNEL_GROUP_STRUCT_S_2
+}channel_group_struct_s_1_enum;
+
+typedef struct channel_group_struct_s_2{
+   U8 ma_number;
+   U8 maio;
+}channel_group_struct_s_2;
+
+/* SEQUENCE channel group struct */
+typedef struct channel_group_struct{
+   channel_group_struct_s_1_enum channel_group_struct_s_1_tag;
+   union channel_group_struct_s_1_value{
+      U16 channel_group_struct_arfcn;
+      channel_group_struct_s_2 m_channel_group_struct_s_2;
+   }channel_group_struct_s_1_value;
+   U8 timeslot_allocation;
+}channel_group_struct;
+
+typedef struct p_3_g_measurement_parameters_description_struct_s_2{
+   U8 fdd_gprs_qoffset;
+   U8 fdd_qmin;
+}p_3_g_measurement_parameters_description_struct_s_2;
+
+/* SEQUENCE 3 g measurement parameters description struct */
+typedef struct p_3_g_measurement_parameters_description_struct{
+   U8 qsearch_p;
+   U8 p_3_g_search_prio;
+   ispresent p_3_g_measurement_parameters_description_struct_s_1_tag;
+   union p_3_g_measurement_parameters_description_struct_s_1_value{
+      p_3_g_measurement_parameters_description_struct_s_2 m_p_3_g_measurement_parameters_description_struct_s_2;
+   }p_3_g_measurement_parameters_description_struct_s_1_value;
+   ispresent p_3_g_measurement_parameters_description_struct_s_3_tag;
+   union p_3_g_measurement_parameters_description_struct_s_3_value{
+      U8 tdd_gprs_qoffset;
+   }p_3_g_measurement_parameters_description_struct_s_3_value;
+}p_3_g_measurement_parameters_description_struct;
+
+typedef struct p_3_g_initial_dedicated_mode_reporting_description_struct_s_2{
+   U8 fdd_qoffset;
+   U8 fdd_rep_quant;
+   U8 fdd_multirat_reporting;
+}p_3_g_initial_dedicated_mode_reporting_description_struct_s_2;
+
+typedef struct p_3_g_initial_dedicated_mode_reporting_description_struct_s_4{
+   U8 tdd_qoffset;
+   U8 tdd_multirat_reporting;
+}p_3_g_initial_dedicated_mode_reporting_description_struct_s_4;
+
+/* SEQUENCE 3 g initial dedicated mode reporting description struct */
+typedef struct p_3_g_initial_dedicated_mode_reporting_description_struct{
+   U8 p_3_g_ba_ind;
+   U8 qsearch_i;
+   U8 qsearch_c_initial;
+   ispresent p_3_g_initial_dedicated_mode_reporting_description_struct_s_1_tag;
+   union p_3_g_initial_dedicated_mode_reporting_description_struct_s_1_value{
+      p_3_g_initial_dedicated_mode_reporting_description_struct_s_2 m_p_3_g_initial_dedicated_mode_reporting_description_struct_s_2;
+   }p_3_g_initial_dedicated_mode_reporting_description_struct_s_1_value;
+   ispresent p_3_g_initial_dedicated_mode_reporting_description_struct_s_3_tag;
+   union p_3_g_initial_dedicated_mode_reporting_description_struct_s_3_value{
+      p_3_g_initial_dedicated_mode_reporting_description_struct_s_4 m_p_3_g_initial_dedicated_mode_reporting_description_struct_s_4;
+   }p_3_g_initial_dedicated_mode_reporting_description_struct_s_3_value;
+}p_3_g_initial_dedicated_mode_reporting_description_struct;
+
+/* SEQUENCE gprs 3 g additional measurement parameters description struct */
+typedef struct gprs_3_g_additional_measurement_parameters_description_struct{
+   U8 fdd_qmin_offset;
+   U8 fdd_rscpmin;
+}gprs_3_g_additional_measurement_parameters_description_struct;
+
+/* SEQUENCE rtd6 struct */
+typedef struct rtd6_struct{
+   ispresent rtd6_struct_s_0_tag;
+   union rtd6_struct_s_0_value{
+      U8 rtd;
+   }rtd6_struct_s_0_value;
+}rtd6_struct;
+
+/* SEQUENCE rtd12 struct */
+typedef struct rtd12_struct{
+   ispresent rtd12_struct_s_0_tag;
+   union rtd12_struct_s_0_value{
+      U16 rtd;
+   }rtd12_struct_s_0_value;
+}rtd12_struct;
+
+/* SEQUENCE ncp2 property struct */
+typedef struct ncp2_property_struct{
+   U8 same_ra_as_serving_cell;
+   U8 cell_bar_access_2;
+   U8 bcc;
+}ncp2_property_struct;
+
+/* SEQUENCE neighbour parameter set struct */
+typedef struct neighbour_parameter_set_struct{
+   ispresent neighbour_parameter_set_struct_s_1_tag;
+   union neighbour_parameter_set_struct_s_1_value{
+      U8 ncc;
+   }neighbour_parameter_set_struct_s_1_value;
+   U8 exc_acc;
+   ispresent neighbour_parameter_set_struct_s_2_tag;
+   union neighbour_parameter_set_struct_s_2_value{
+      U8 gprs_rxlev_access_min;
+   }neighbour_parameter_set_struct_s_2_value;
+   ispresent neighbour_parameter_set_struct_s_3_tag;
+   union neighbour_parameter_set_struct_s_3_value{
+      U8 gprs_ms_txpwr_max_cch;
+   }neighbour_parameter_set_struct_s_3_value;
+   ispresent neighbour_parameter_set_struct_s_4_tag;
+   union neighbour_parameter_set_struct_s_4_value{
+      U8 priority_class;
+   }neighbour_parameter_set_struct_s_4_value;
+   ispresent neighbour_parameter_set_struct_s_5_tag;
+   union neighbour_parameter_set_struct_s_5_value{
+      U8 hcs_thr;
+   }neighbour_parameter_set_struct_s_5_value;
+   ispresent neighbour_parameter_set_struct_s_6_tag;
+   union neighbour_parameter_set_struct_s_6_value{
+      si13_pbcch_location_struct_1 si13_pbcch_location;
+   }neighbour_parameter_set_struct_s_6_value;
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+   U8 gprs_reselect_offset;
+}neighbour_parameter_set_struct;
+
+/* SEQUENCE compact ncp2 property struct */
+typedef struct compact_ncp2_property_struct{
+   U8 same_ra_as_serving_cell;
+   U8 cell_bar_access_2;
+   U8 bcc;
+   ispresent compact_ncp2_property_struct_s_1_tag;
+   union compact_ncp2_property_struct_s_1_value{
+      U8 time_group;
+   }compact_ncp2_property_struct_s_1_value;
+}compact_ncp2_property_struct;
+
+/* SEQUENCE compact neighbour parameter set struct */
+typedef struct compact_neighbour_parameter_set_struct{
+   ispresent compact_neighbour_parameter_set_struct_s_1_tag;
+   union compact_neighbour_parameter_set_struct_s_1_value{
+      U8 ncc;
+   }compact_neighbour_parameter_set_struct_s_1_value;
+   U8 exc_acc;
+   ispresent compact_neighbour_parameter_set_struct_s_2_tag;
+   union compact_neighbour_parameter_set_struct_s_2_value{
+      U8 gprs_rxlev_access_min;
+   }compact_neighbour_parameter_set_struct_s_2_value;
+   ispresent compact_neighbour_parameter_set_struct_s_3_tag;
+   union compact_neighbour_parameter_set_struct_s_3_value{
+      U8 gprs_ms_txpwr_max_cch;
+   }compact_neighbour_parameter_set_struct_s_3_value;
+   ispresent compact_neighbour_parameter_set_struct_s_4_tag;
+   union compact_neighbour_parameter_set_struct_s_4_value{
+      U8 gprs_priority_class;
+   }compact_neighbour_parameter_set_struct_s_4_value;
+   ispresent compact_neighbour_parameter_set_struct_s_5_tag;
+   union compact_neighbour_parameter_set_struct_s_5_value{
+      U8 gprs_hcs_thr;
+   }compact_neighbour_parameter_set_struct_s_5_value;
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+   U8 gprs_reselect_offset;
+   ispresent compact_neighbour_parameter_set_struct_s_6_tag;
+   union compact_neighbour_parameter_set_struct_s_6_value{
+      U8 guar_constant_pwr_blks;
+   }compact_neighbour_parameter_set_struct_s_6_value;
+}compact_neighbour_parameter_set_struct;
+
+/* SEQUENCE serving cell params struct 1 */
+typedef struct serving_cell_params_struct_1{
+   U8 cell_bar_access_2;
+   U8 exc_acc;
+   U8 gprs_rxlev_access_min;
+   U8 gprs_ms_txpwr_max_cch;
+   ispresent serving_cell_params_struct_1_s_1_tag;
+   union serving_cell_params_struct_1_s_1_value{
+      hcs_struct_1 hcs_serving_cell_parameters;
+   }serving_cell_params_struct_1_s_1_value;
+   U8 multiband_reporting;
+}serving_cell_params_struct_1;
+
+/* SEQUENCE gen cell sel struct */
+typedef struct gen_cell_sel_struct{
+   U8 gprs_cell_reselect_hysteresis;
+   U8 c31_hyst;
+   U8 c32_qual;
+   U8 random_access_retry;
+   ispresent gen_cell_sel_struct_s_1_tag;
+   union gen_cell_sel_struct_s_1_value{
+      U8 t_resel;
+   }gen_cell_sel_struct_s_1_value;
+   ispresent gen_cell_sel_struct_s_2_tag;
+   union gen_cell_sel_struct_s_2_value{
+      U8 ra_reselect_hysteresis;
+   }gen_cell_sel_struct_s_2_value;
+}gen_cell_sel_struct;
+
+typedef struct compact_cell_selection_struct_1_s_2{
+   U8 gprs_rxlev_access_min;
+   U8 gprs_ms_txpwr_max_cch;
+}compact_cell_selection_struct_1_s_2;
+
+typedef struct compact_cell_selection_struct_1_s_4{
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+}compact_cell_selection_struct_1_s_4;
+
+/* SEQUENCE compact cell selection struct 1 */
+typedef struct compact_cell_selection_struct_1{
+   U8 bsic;
+   U8 cell_bar_access_2;
+   U8 exc_acc;
+   U8 same_ra_as_serving_cell;
+   ispresent compact_cell_selection_struct_1_s_1_tag;
+   union compact_cell_selection_struct_1_s_1_value{
+      compact_cell_selection_struct_1_s_2 m_compact_cell_selection_struct_1_s_2;
+   }compact_cell_selection_struct_1_s_1_value;
+   ispresent compact_cell_selection_struct_1_s_3_tag;
+   union compact_cell_selection_struct_1_s_3_value{
+      compact_cell_selection_struct_1_s_4 m_compact_cell_selection_struct_1_s_4;
+   }compact_cell_selection_struct_1_s_3_value;
+   ispresent compact_cell_selection_struct_1_s_5_tag;
+   union compact_cell_selection_struct_1_s_5_value{
+      U8 gprs_reselect_offset;
+   }compact_cell_selection_struct_1_s_5_value;
+   ispresent compact_cell_selection_struct_1_s_6_tag;
+   union compact_cell_selection_struct_1_s_6_value{
+      hcs_struct_1 hcs_params;
+   }compact_cell_selection_struct_1_s_6_value;
+   ispresent compact_cell_selection_struct_1_s_7_tag;
+   union compact_cell_selection_struct_1_s_7_value{
+      U8 time_group;
+   }compact_cell_selection_struct_1_s_7_value;
+   ispresent compact_cell_selection_struct_1_s_8_tag;
+   union compact_cell_selection_struct_1_s_8_value{
+      U8 guar_constant_pwr_blks;
+   }compact_cell_selection_struct_1_s_8_value;
+}compact_cell_selection_struct_1;
+
+/* SEQUENCE reference frequency struct */
+typedef struct reference_frequency_struct{
+   U8 rfl_number;
+   U8 length_of_rfl_contents;
+   U16 numElements_rfl_contents;
+   U8 * rfl_contents;
+}reference_frequency_struct;
+
+typedef U8 cell_allocation_struct_1;
+
+/* SEQUENCE gprs mobile allocations struct */
+typedef struct gprs_mobile_allocations_struct{
+   U8 ma_number;
+   gprs_mobile_allocation_ie gprs_mobile_allocation;
+}gprs_mobile_allocations_struct;
+
+/* SEQUENCE non-hopping pccch carriers struct */
+typedef struct non_hopping_pccch_carriers_struct{
+   U16 arfcn;
+   U8 timeslot_allocation;
+}non_hopping_pccch_carriers_struct;
+
+/* SEQUENCE hopping pccch carriers struct */
+typedef struct hopping_pccch_carriers_struct{
+   U8 maio;
+   U8 timeslot_allocation;
+}hopping_pccch_carriers_struct;
+
+/* SEQUENCE number of idle blocks struct */
+typedef struct number_of_idle_blocks_struct{
+   ispresent number_of_idle_blocks_struct_s_1_tag;
+   union number_of_idle_blocks_struct_s_1_value{
+      U8 nib_ccch_0;
+   }number_of_idle_blocks_struct_s_1_value;
+   ispresent number_of_idle_blocks_struct_s_3_tag;
+   union number_of_idle_blocks_struct_s_3_value{
+      U8 nib_ccch_1;
+   }number_of_idle_blocks_struct_s_3_value;
+   ispresent number_of_idle_blocks_struct_s_5_tag;
+   union number_of_idle_blocks_struct_s_5_value{
+      U8 nib_ccch_2;
+   }number_of_idle_blocks_struct_s_5_value;
+   ispresent number_of_idle_blocks_struct_s_7_tag;
+   union number_of_idle_blocks_struct_s_7_value{
+      U8 nib_ccch_3;
+   }number_of_idle_blocks_struct_s_7_value;
+}number_of_idle_blocks_struct;
+
+/* SEQUENCE additional psi messages struct */
+typedef struct additional_psi_messages_struct{
+   U8 non_gsm_information;
+   U8 psi8_broadcast;
+   U8 psi3ter_broadcast;
+   U8 psi3quater_broadcast;
+}additional_psi_messages_struct;
+
+typedef enum {
+   REPEATED_PAGE_INFO_STRUCT_1_S_1,
+   REPEATED_PAGE_INFO_STRUCT_1_S_3
+}repeated_page_info_struct_1_s_0_enum;
+
+typedef enum {
+   PTMSI,
+   REPEATED_PAGE_INFO_STRUCT_1_S_2
+}repeated_page_info_struct_1_s_1_enum;
+
+typedef struct repeated_page_info_struct_1_s_2{
+   U8 length_of_mobile_identity_contents;
+   U16 numElements_mobile_identity;
+   U8 * mobile_identity;
+}repeated_page_info_struct_1_s_2;
+
+typedef struct repeated_page_info_struct_1_s_1{
+   repeated_page_info_struct_1_s_1_enum repeated_page_info_struct_1_s_1_tag;
+   union repeated_page_info_struct_1_s_1_value{
+      U32 ptmsi;
+      repeated_page_info_struct_1_s_2 m_repeated_page_info_struct_1_s_2;
+   }repeated_page_info_struct_1_s_1_value;
+}repeated_page_info_struct_1_s_1;
+
+typedef enum {
+   TMSI,
+   REPEATED_PAGE_INFO_STRUCT_1_S_5
+}repeated_page_info_struct_1_s_4_enum;
+
+typedef struct repeated_page_info_struct_1_s_5{
+   U8 length_of_mobile_identity_contents;
+   U16 numElements_mobile_identity;
+   U8 * mobile_identity;
+}repeated_page_info_struct_1_s_5;
+
+typedef struct repeated_page_info_struct_1_s_3{
+   repeated_page_info_struct_1_s_4_enum repeated_page_info_struct_1_s_4_tag;
+   union repeated_page_info_struct_1_s_4_value{
+      U32 tmsi;
+      repeated_page_info_struct_1_s_5 m_repeated_page_info_struct_1_s_5;
+   }repeated_page_info_struct_1_s_4_value;
+   U8 channel_needed;
+   ispresent repeated_page_info_struct_1_s_6_tag;
+   union repeated_page_info_struct_1_s_6_value{
+      U8 emlpp_priority;
+   }repeated_page_info_struct_1_s_6_value;
+}repeated_page_info_struct_1_s_3;
+
+/* SEQUENCE repeated page info struct 1 */
+typedef struct repeated_page_info_struct_1{
+   repeated_page_info_struct_1_s_0_enum repeated_page_info_struct_1_s_0_tag;
+   union repeated_page_info_struct_1_s_0_value{
+      repeated_page_info_struct_1_s_1 m_repeated_page_info_struct_1_s_1;
+      repeated_page_info_struct_1_s_3 m_repeated_page_info_struct_1_s_3;
+   }repeated_page_info_struct_1_s_0_value;
+}repeated_page_info_struct_1;
+
+/* SEQUENCE page info struct */
+typedef struct page_info_struct{
+   U8 paging_cause;
+   U8 cn_domain_identity;
+   ispresent page_info_struct_s_1_tag;
+   union page_info_struct_s_1_value{
+      U8 paging_record_type_identifier;
+   }page_info_struct_s_1_value;
+}page_info_struct;
+
+typedef struct ext_frequency_list_struct_s_1{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+}ext_frequency_list_struct_s_1;
+
+/* SEQUENCE ext frequency list struct */
+typedef struct ext_frequency_list_struct{
+   U16 start_frequency;
+   U8 nr_of_frequencies;
+   U8 freq_diff_length;
+   U16 numElements_m_ext_frequency_list_struct_s_1;
+   ext_frequency_list_struct_s_1 * m_ext_frequency_list_struct_s_1;
+}ext_frequency_list_struct;
+
+typedef enum {
+   TLLI___G_RNTI,
+   REJECT_STRUCT_1_S_2
+}reject_struct_1_s_1_enum;
+
+typedef enum {
+   PACKET_REQUEST_REFERENCE,
+   GLOBAL_TFI
+}reject_struct_1_s_2_enum;
+
+typedef struct reject_struct_1_s_2{
+   reject_struct_1_s_2_enum reject_struct_1_s_2_tag;
+   union reject_struct_1_s_2_value{
+      packet_request_reference_ie packet_request_reference;
+      global_tfi_ie global_tfi;
+   }reject_struct_1_s_2_value;
+}reject_struct_1_s_2;
+
+typedef struct reject_struct_1_s_4{
+   U8 wait_indication;
+   U8 wait__indication_size;
+}reject_struct_1_s_4;
+
+/* SEQUENCE reject struct 1 */
+typedef struct reject_struct_1{
+   reject_struct_1_s_1_enum reject_struct_1_s_1_tag;
+   union reject_struct_1_s_1_value{
+      U32 tlli___g_rnti;
+      reject_struct_1_s_2 m_reject_struct_1_s_2;
+   }reject_struct_1_s_1_value;
+   ispresent reject_struct_1_s_3_tag;
+   union reject_struct_1_s_3_value{
+      reject_struct_1_s_4 m_reject_struct_1_s_4;
+   }reject_struct_1_s_3_value;
+}reject_struct_1;
+
+/* SEQUENCE iu mode reject struct 1 */
+typedef struct iu_mode_reject_struct_1{
+   U8 g_rnti_extension;
+   U16 numElements_rb_id;
+   U8 * rb_id;
+}iu_mode_reject_struct_1;
+
+/* SEQUENCE a/gb mode reject struct 1 */
+typedef struct a_gb_mode_reject_struct_1{
+   U16 numElements_pfi;
+   U8 * pfi;
+}a_gb_mode_reject_struct_1;
+
+typedef struct _timeslot_allocation_struct{
+   ispresent timeslot_allocation_struct_s_0_tag;
+   union timeslot_allocation_struct_s_0_value{
+      U8 usf_tn;
+   }timeslot_allocation_struct_s_0_value;
+}_timeslot_allocation_struct;
+
+/* SEQUENCE timeslot allocation struct */
+typedef struct timeslot_allocation_struct_s_0{
+   _timeslot_allocation_struct m__timeslot_allocation_struct[8];
+}timeslot_allocation_struct;
+
+typedef struct timeslot_allocation_with_power_control_parameters_s_2{
+   U8 usf_tn;
+   U8 gamma_tn;
+}timeslot_allocation_with_power_control_parameters_s_2;
+
+typedef struct timeslot_allocation_with_power_control_parameters_s_1{
+   ispresent timeslot_allocation_with_power_control_parameters_s_1_tag;
+   union timeslot_allocation_with_power_control_parameters_s_1_value{
+      timeslot_allocation_with_power_control_parameters_s_2 m_timeslot_allocation_with_power_control_parameters_s_2;
+   }timeslot_allocation_with_power_control_parameters_s_1_value;
+}timeslot_allocation_with_power_control_parameters_s_1;
+
+/* SEQUENCE timeslot allocation with power control parameters */
+typedef struct timeslot_allocation_with_power_control_parameters{
+   U8 alpha;
+   timeslot_allocation_with_power_control_parameters_s_1  m_timeslot_allocation_with_power_control_parameters_s_1[8];
+}timeslot_allocation_with_power_control_parameters;
+
+/* SEQUENCE access technologies request struct */
+typedef struct access_technologies_request_struct{
+   U8 access_technology_type;
+   ispresent access_technologies_request_struct_s_1_tag;
+   union access_technologies_request_struct_s_1_value{
+      struct access_technologies_request_struct * m_access_technologies_request_struct;
+   }access_technologies_request_struct_s_1_value;
+}access_technologies_request_struct;
+
+typedef U8 egprs_modulation_and_coding_ie;
+
+typedef U8 egprs_window_size_ie;
+
+typedef U16 absolute_frame_number_encoding;
+
+typedef U16 relative_frame_number_encoding;
+
+typedef enum {
+   RB_ID,
+   DOWNLINK_TBF_ASSIGNMENT_STRUCT_FOR_MTTR_S_2
+}downlink_tbf_assignment_struct_for_mttr_s_1_enum;
+
+typedef struct downlink_tbf_assignment_struct_for_mttr_s_2{
+   U8 pfi;
+   U8 rlc_mode;
+}downlink_tbf_assignment_struct_for_mttr_s_2;
+
+/* SEQUENCE downlink tbf assignment struct for mttr */
+typedef struct downlink_tbf_assignment_struct_for_mttr{
+   downlink_tbf_assignment_struct_for_mttr_s_1_enum downlink_tbf_assignment_struct_for_mttr_s_1_tag;
+   union downlink_tbf_assignment_struct_for_mttr_s_1_value{
+      U8 rb_id;
+      downlink_tbf_assignment_struct_for_mttr_s_2 m_downlink_tbf_assignment_struct_for_mttr_s_2;
+   }downlink_tbf_assignment_struct_for_mttr_s_1_value;
+   ispresent downlink_tbf_assignment_struct_for_mttr_s_3_tag;
+   union downlink_tbf_assignment_struct_for_mttr_s_3_value{
+      U8 uplink_control_timeslot;
+   }downlink_tbf_assignment_struct_for_mttr_s_3_value;
+   U8 tfi_assignment;
+   U8 control_ack;
+   ispresent downlink_tbf_assignment_struct_for_mttr_s_4_tag;
+   union downlink_tbf_assignment_struct_for_mttr_s_4_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }downlink_tbf_assignment_struct_for_mttr_s_4_value;
+}downlink_tbf_assignment_struct_for_mttr;
+
+/* SEQUENCE resegment ie */
+typedef struct resegment_ie{
+   U8 resegment_ie_bit;
+}resegment_ie;
+
+/* SEQUENCE rrc container ie */
+typedef struct rrc_container_ie{
+   U8 rrc_container_length;
+   U16 numElements_rrc_container_data;
+   U8 * rrc_container_data;
+}rrc_container_ie;
+
+/* SEQUENCE nas container for ps handover ie */
+typedef struct nas_container_for_ps_handover_ie{
+   U8 nas_container_length;
+   U16 numElements_nas_container_data;
+   U8 * nas_container_data;
+}nas_container_for_ps_handover_ie;
+
+/* SEQUENCE downlink tbf assignment struct for ps ho */
+typedef struct downlink_tbf_assignment_struct_for_ps_ho{
+   ispresent downlink_tbf_assignment_struct_for_ps_ho_s_1_tag;
+   union downlink_tbf_assignment_struct_for_ps_ho_s_1_value{
+      U8 pfi;
+   }downlink_tbf_assignment_struct_for_ps_ho_s_1_value;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   U8 control_ack;
+   ispresent downlink_tbf_assignment_struct_for_ps_ho_s_2_tag;
+   union downlink_tbf_assignment_struct_for_ps_ho_s_2_value{
+      egprs_window_size_ie egprs_window_size;
+   }downlink_tbf_assignment_struct_for_ps_ho_s_2_value;
+}downlink_tbf_assignment_struct_for_ps_ho;
+
+/* SEQUENCE downlink assignment struct */
+typedef struct downlink_assignment_struct{
+   U8 timeslot_allocation;
+   downlink_tbf_assignment_struct_for_ps_ho downlink_tbf_assignment;
+}downlink_assignment_struct;
+
+typedef struct tbf_timeslot_allocation_1{
+   U16 numElements_tbf_timeslot_allocation_1;
+   U8 * tbf_timeslot_allocation_1;
+}tbf_timeslot_allocation_1;
+
+typedef enum {
+   USF_ALLOCATION,
+   UPLINK_TBF_ASSIGNMENT_STRUCT_S_7
+}uplink_tbf_assignment_struct_s_6_enum;
+
+typedef struct uplink_tbf_assignment_struct_s_8{
+   ispresent uplink_tbf_assignment_struct_s_8_tag;
+   union uplink_tbf_assignment_struct_s_8_value{
+      U8 usf_allocation;
+   }uplink_tbf_assignment_struct_s_8_value;
+}uplink_tbf_assignment_struct_s_8;
+
+typedef struct uplink_tbf_assignment_struct_s_7{
+   U8 usf_allocation;
+   U16 numElements_m_uplink_tbf_assignment_struct_s_8;
+   uplink_tbf_assignment_struct_s_8 * m_uplink_tbf_assignment_struct_s_8;
+}uplink_tbf_assignment_struct_s_7;
+
+/* SEQUENCE uplink tbf assignment struct */
+typedef struct uplink_tbf_assignment_struct{
+   ispresent uplink_tbf_assignment_struct_s_1_tag;
+   union uplink_tbf_assignment_struct_s_1_value{
+      U8 pfi;
+   }uplink_tbf_assignment_struct_s_1_value;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   ispresent uplink_tbf_assignment_struct_s_2_tag;
+   union uplink_tbf_assignment_struct_s_2_value{
+      U8 channel_coding_command;
+   }uplink_tbf_assignment_struct_s_2_value;
+   ispresent uplink_tbf_assignment_struct_s_3_tag;
+   union uplink_tbf_assignment_struct_s_3_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }uplink_tbf_assignment_struct_s_3_value;
+   ispresent uplink_tbf_assignment_struct_s_4_tag;
+   union uplink_tbf_assignment_struct_s_4_value{
+      egprs_window_size_ie egprs_window_size;
+   }uplink_tbf_assignment_struct_s_4_value;
+   U8 usf_granularity;
+   ispresent uplink_tbf_assignment_struct_s_5_tag;
+   union uplink_tbf_assignment_struct_s_5_value{
+      tbf_timeslot_allocation_1 m_tbf_timeslot_allocation_1;
+   }uplink_tbf_assignment_struct_s_5_value;
+   uplink_tbf_assignment_struct_s_6_enum uplink_tbf_assignment_struct_s_6_tag;
+   union uplink_tbf_assignment_struct_s_6_value{
+      U8 usf_allocation;
+      uplink_tbf_assignment_struct_s_7 m_uplink_tbf_assignment_struct_s_7;
+   }uplink_tbf_assignment_struct_s_6_value;
+}uplink_tbf_assignment_struct;
+
+typedef enum {
+   MS_TIMESLOT_ALLOCATION,
+   TIMESLOT_DESCRIPTION_STRUCT_S_1
+}timeslot_description_struct_s_0_enum;
+
+typedef struct timeslot_description_struct_s_2{
+   ispresent timeslot_description_struct_s_2_tag;
+   union timeslot_description_struct_s_2_value{
+      U8 gamma_tn;
+   }timeslot_description_struct_s_2_value;
+}timeslot_description_struct_s_2;
+
+typedef struct timeslot_description_struct_s_1{
+   U8 alpha;
+   timeslot_description_struct_s_2  m_timeslot_description_struct_s_2[8];
+}timeslot_description_struct_s_1;
+
+/* SEQUENCE timeslot description struct */
+typedef struct timeslot_description_struct{
+   timeslot_description_struct_s_0_enum timeslot_description_struct_s_0_tag;
+   union timeslot_description_struct_s_0_value{
+      U8 ms_timeslot_allocation;
+      timeslot_description_struct_s_1 m_timeslot_description_struct_s_1;
+   }timeslot_description_struct_s_0_value;
+}timeslot_description_struct;
+
+typedef enum {
+   DOWNLINK_TBF_ASSIGNMENT_STRUCT_RB_ID,
+   DOWNLINK_TBF_ASSIGNMENT_STRUCT_S_2
+}downlink_tbf_assignment_struct_s_1_enum;
+
+typedef struct downlink_tbf_assignment_struct_s_2{
+   U8 pfi;
+   U8 rlc_mode;
+}downlink_tbf_assignment_struct_s_2;
+
+/* SEQUENCE downlink tbf assignment struct */
+typedef struct downlink_tbf_assignment_struct{
+   downlink_tbf_assignment_struct_s_1_enum downlink_tbf_assignment_struct_s_1_tag;
+   union downlink_tbf_assignment_struct_s_1_value{
+      U8 rb_id;
+      downlink_tbf_assignment_struct_s_2 m_downlink_tbf_assignment_struct_s_2;
+   }downlink_tbf_assignment_struct_s_1_value;
+   U8 tfi_assignment;
+   U8 control_ack;
+   ispresent downlink_tbf_assignment_struct_s_3_tag;
+   union downlink_tbf_assignment_struct_s_3_value{
+      egprs_window_size_ie egprs_window_size;
+   }downlink_tbf_assignment_struct_s_3_value;
+   ispresent downlink_tbf_assignment_struct_s_4_tag;
+   union downlink_tbf_assignment_struct_s_4_value{
+      U8 hfn_lsb;
+   }downlink_tbf_assignment_struct_s_4_value;
+}downlink_tbf_assignment_struct;
+
+typedef U32 tlli___g_rnti_ie;
+
+typedef struct persistence_level_ie{
+   U8 persistence_level[4];
+}persistence_level_ie;
+
+typedef struct dynamic_allocation_2_struct_s_4{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}dynamic_allocation_2_struct_s_4;
+
+typedef struct dynamic_allocation_2_struct_s_2{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent dynamic_allocation_2_struct_s_3_tag;
+   union dynamic_allocation_2_struct_s_3_value{
+      dynamic_allocation_2_struct_s_4 m_dynamic_allocation_2_struct_s_4;
+   }dynamic_allocation_2_struct_s_3_value;
+}dynamic_allocation_2_struct_s_2;
+
+typedef enum {
+   DYNAMIC_ALLOCATION_2_STRUCT_S_7,
+   DYNAMIC_ALLOCATION_2_STRUCT_S_9
+}dynamic_allocation_2_struct_s_6_enum;
+
+typedef struct dynamic_allocation_2_struct_s_8{
+   ispresent dynamic_allocation_2_struct_s_8_tag;
+   union dynamic_allocation_2_struct_s_8_value{
+      U8 usf;
+   }dynamic_allocation_2_struct_s_8_value;
+}dynamic_allocation_2_struct_s_8;
+
+typedef struct dynamic_allocation_2_struct_s_7{
+   U8 n_usf;
+   U16 numElements_m_dynamic_allocation_2_struct_s_8;
+   dynamic_allocation_2_struct_s_8 * m_dynamic_allocation_2_struct_s_8;
+}dynamic_allocation_2_struct_s_7;
+
+typedef enum {
+   DYNAMIC_ALLOCATION_2_STRUCT_S_12,
+   DYNAMIC_ALLOCATION_2_STRUCT_S_15
+}dynamic_allocation_2_struct_s_11_enum;
+
+typedef struct dynamic_allocation_2_struct_s_14{
+   U8 usf;
+   U8 gamma;
+}dynamic_allocation_2_struct_s_14;
+
+typedef struct dynamic_allocation_2_struct_s_13{
+   ispresent dynamic_allocation_2_struct_s_13_tag;
+   union dynamic_allocation_2_struct_s_13_value{
+      dynamic_allocation_2_struct_s_14 m_dynamic_allocation_2_struct_s_14;
+   }dynamic_allocation_2_struct_s_13_value;
+}dynamic_allocation_2_struct_s_13;
+
+typedef struct dynamic_allocation_2_struct_s_12{
+   U8 n_ts;
+   U16 numElements_m_dynamic_allocation_2_struct_s_13;
+   dynamic_allocation_2_struct_s_13 * m_dynamic_allocation_2_struct_s_13;
+}dynamic_allocation_2_struct_s_12;
+
+typedef struct dynamic_allocation_2_struct_s_17{
+   U8 usf;
+   U8 gamma;
+}dynamic_allocation_2_struct_s_17;
+
+typedef struct dynamic_allocation_2_struct_s_16{
+   ispresent dynamic_allocation_2_struct_s_16_tag;
+   union dynamic_allocation_2_struct_s_16_value{
+      dynamic_allocation_2_struct_s_17 m_dynamic_allocation_2_struct_s_17;
+   }dynamic_allocation_2_struct_s_16_value;
+}dynamic_allocation_2_struct_s_16;
+
+typedef struct dynamic_allocation_2_struct_s_20{
+   U8 usf_2;
+   ispresent dynamic_allocation_2_struct_s_21_tag;
+   union dynamic_allocation_2_struct_s_21_value{
+      U8 gamma;
+   }dynamic_allocation_2_struct_s_21_value;
+}dynamic_allocation_2_struct_s_20;
+
+typedef struct dynamic_allocation_2_struct_s_19{
+   ispresent dynamic_allocation_2_struct_s_19_tag;
+   union dynamic_allocation_2_struct_s_19_value{
+      dynamic_allocation_2_struct_s_20 m_dynamic_allocation_2_struct_s_20;
+   }dynamic_allocation_2_struct_s_19_value;
+}dynamic_allocation_2_struct_s_19;
+
+typedef struct _dynamic_allocation_2_struct_s_19{
+   U16 numElements_m_dynamic_allocation_2_struct_s_19;
+   dynamic_allocation_2_struct_s_19 * m_dynamic_allocation_2_struct_s_19;
+}_dynamic_allocation_2_struct_s_19;
+
+typedef struct dynamic_allocation_2_struct_s_15{
+   U8 n_pairs;
+   U16 numElements_m_dynamic_allocation_2_struct_s_16;
+   dynamic_allocation_2_struct_s_16 * m_dynamic_allocation_2_struct_s_16;
+   ispresent dynamic_allocation_2_struct_s_18_tag;
+   union dynamic_allocation_2_struct_s_18_value{
+      _dynamic_allocation_2_struct_s_19 m_dynamic_allocation_2_struct_s_19;
+   }dynamic_allocation_2_struct_s_18_value;
+}dynamic_allocation_2_struct_s_15;
+
+typedef struct dynamic_allocation_2_struct_s_9{
+   U8 alpha_c1;
+   ispresent dynamic_allocation_2_struct_s_10_tag;
+   union dynamic_allocation_2_struct_s_10_value{
+      U8 alpha_c2;
+   }dynamic_allocation_2_struct_s_10_value;
+   dynamic_allocation_2_struct_s_11_enum dynamic_allocation_2_struct_s_11_tag;
+   union dynamic_allocation_2_struct_s_11_value{
+      dynamic_allocation_2_struct_s_12 m_dynamic_allocation_2_struct_s_12;
+      dynamic_allocation_2_struct_s_15 m_dynamic_allocation_2_struct_s_15;
+   }dynamic_allocation_2_struct_s_11_value;
+}dynamic_allocation_2_struct_s_9;
+
+/* SEQUENCE dynamic allocation 2 struct */
+typedef struct dynamic_allocation_2_struct{
+   U8 extended_dynamic_allocation;
+   ispresent dynamic_allocation_2_struct_s_1_tag;
+   union dynamic_allocation_2_struct_s_1_value{
+      dynamic_allocation_2_struct_s_2 m_dynamic_allocation_2_struct_s_2;
+   }dynamic_allocation_2_struct_s_1_value;
+   U8 usf_granularity;
+   ispresent dynamic_allocation_2_struct_s_5_tag;
+   union dynamic_allocation_2_struct_s_5_value{
+      U8 uplink_tfi_assignment;
+   }dynamic_allocation_2_struct_s_5_value;
+   dynamic_allocation_2_struct_s_6_enum dynamic_allocation_2_struct_s_6_tag;
+   union dynamic_allocation_2_struct_s_6_value{
+      dynamic_allocation_2_struct_s_7 m_dynamic_allocation_2_struct_s_7;
+      dynamic_allocation_2_struct_s_9 m_dynamic_allocation_2_struct_s_9;
+   }dynamic_allocation_2_struct_s_6_value;
+}dynamic_allocation_2_struct;
+
+typedef enum {
+   TIMESLOT_DESCRIPTION_2_STRUCT_S_1,
+   TIMESLOT_DESCRIPTION_2_STRUCT_S_3
+}timeslot_description_2_struct_s_0_enum;
+
+typedef struct timeslot_description_2_struct_s_1{
+   U8 ms_timeslot_allocation_c1;
+   ispresent timeslot_description_2_struct_s_2_tag;
+   union timeslot_description_2_struct_s_2_value{
+      U8 ms_timeslot_allocation_c2;
+   }timeslot_description_2_struct_s_2_value;
+}timeslot_description_2_struct_s_1;
+
+typedef struct timeslot_description_2_struct_s_4{
+   ispresent timeslot_description_2_struct_s_4_tag;
+   union timeslot_description_2_struct_s_4_value{
+      U8 gamma_tn_c1;
+   }timeslot_description_2_struct_s_4_value;
+}timeslot_description_2_struct_s_4;
+
+typedef struct timeslot_description_2_struct_s_6{
+   ispresent timeslot_description_2_struct_s_6_tag;
+   union timeslot_description_2_struct_s_6_value{
+      U8 gamma_tn_c2;
+   }timeslot_description_2_struct_s_6_value;
+}timeslot_description_2_struct_s_6;
+
+typedef struct timeslot_description_2_struct_s_3{
+   U8 alpha_c1;
+   timeslot_description_2_struct_s_4  m_timeslot_description_2_struct_s_4[8];
+   ispresent timeslot_description_2_struct_s_5_tag;
+   union timeslot_description_2_struct_s_5_value{
+      U8 alpha_c2;
+   }timeslot_description_2_struct_s_5_value;
+   timeslot_description_2_struct_s_6  m_timeslot_description_2_struct_s_6[8];
+}timeslot_description_2_struct_s_3;
+
+/* SEQUENCE timeslot description 2 struct */
+typedef struct timeslot_description_2_struct{
+   timeslot_description_2_struct_s_0_enum timeslot_description_2_struct_s_0_tag;
+   union timeslot_description_2_struct_s_0_value{
+      timeslot_description_2_struct_s_1 m_timeslot_description_2_struct_s_1;
+      timeslot_description_2_struct_s_3 m_timeslot_description_2_struct_s_3;
+   }timeslot_description_2_struct_s_0_value;
+}timeslot_description_2_struct;
+
+typedef enum {
+   DUAL_CARRIER_TIMESLOT_DESCRIPTION_STRUCT_S_1,
+   DUAL_CARRIER_TIMESLOT_DESCRIPTION_STRUCT_S_3
+}dual_carrier_timeslot_description_struct_s_0_enum;
+
+typedef struct dual_carrier_timeslot_description_struct_s_1{
+   U8 ms_timeslot_allocation_c1;
+   ispresent dual_carrier_timeslot_description_struct_s_2_tag;
+   union dual_carrier_timeslot_description_struct_s_2_value{
+      U8 ms_timeslot_allocation_c2;
+   }dual_carrier_timeslot_description_struct_s_2_value;
+}dual_carrier_timeslot_description_struct_s_1;
+
+typedef struct dual_carrier_timeslot_description_struct_s_4{
+   ispresent dual_carrier_timeslot_description_struct_s_4_tag;
+   union dual_carrier_timeslot_description_struct_s_4_value{
+      U8 gamma_tn_c1;
+   }dual_carrier_timeslot_description_struct_s_4_value;
+}dual_carrier_timeslot_description_struct_s_4;
+
+typedef struct dual_carrier_timeslot_description_struct_s_6{
+   ispresent dual_carrier_timeslot_description_struct_s_6_tag;
+   union dual_carrier_timeslot_description_struct_s_6_value{
+      U8 gamma_tn_c2;
+   }dual_carrier_timeslot_description_struct_s_6_value;
+}dual_carrier_timeslot_description_struct_s_6;
+
+typedef struct dual_carrier_timeslot_description_struct_s_3{
+   U8 alpha_c1;
+   dual_carrier_timeslot_description_struct_s_4  m_dual_carrier_timeslot_description_struct_s_4[8];
+   ispresent dual_carrier_timeslot_description_struct_s_5_tag;
+   union dual_carrier_timeslot_description_struct_s_5_value{
+      U8 alpha_c2;
+   }dual_carrier_timeslot_description_struct_s_5_value;
+   dual_carrier_timeslot_description_struct_s_6  m_dual_carrier_timeslot_description_struct_s_6[8];
+}dual_carrier_timeslot_description_struct_s_3;
+
+/* SEQUENCE dual carrier timeslot description struct */
+typedef struct dual_carrier_timeslot_description_struct{
+   dual_carrier_timeslot_description_struct_s_0_enum dual_carrier_timeslot_description_struct_s_0_tag;
+   union dual_carrier_timeslot_description_struct_s_0_value{
+      dual_carrier_timeslot_description_struct_s_1 m_dual_carrier_timeslot_description_struct_s_1;
+      dual_carrier_timeslot_description_struct_s_3 m_dual_carrier_timeslot_description_struct_s_3;
+   }dual_carrier_timeslot_description_struct_s_0_value;
+}dual_carrier_timeslot_description_struct;
+
+typedef struct uplink_tbf_assignment_2_struct_s_5{
+   U8 reported_timeslots_c1;
+   ispresent uplink_tbf_assignment_2_struct_s_6_tag;
+   union uplink_tbf_assignment_2_struct_s_6_value{
+      U8 reported_timeslots_c2;
+   }uplink_tbf_assignment_2_struct_s_6_value;
+}uplink_tbf_assignment_2_struct_s_5;
+
+typedef struct tbf_timeslot_allocation_2{
+   U16 numElements_tbf_timeslot_allocation_2;
+   U8 * tbf_timeslot_allocation_2;
+}tbf_timeslot_allocation_2;
+
+typedef enum {
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_S_9,
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_S_11
+}uplink_tbf_assignment_2_struct_s_8_enum;
+
+typedef struct uplink_tbf_assignment_2_struct_s_9{
+   U8 usf_allocation_c1;
+   ispresent uplink_tbf_assignment_2_struct_s_10_tag;
+   union uplink_tbf_assignment_2_struct_s_10_value{
+      U8 usf_allocation_c2;
+   }uplink_tbf_assignment_2_struct_s_10_value;
+}uplink_tbf_assignment_2_struct_s_9;
+
+typedef struct uplink_tbf_assignment_2_struct_s_12{
+   ispresent uplink_tbf_assignment_2_struct_s_12_tag;
+   union uplink_tbf_assignment_2_struct_s_12_value{
+      U8 usf_allocation;
+   }uplink_tbf_assignment_2_struct_s_12_value;
+}uplink_tbf_assignment_2_struct_s_12;
+
+typedef struct uplink_tbf_assignment_2_struct_s_11{
+   U8 usf_allocation;
+   U16 numElements_m_uplink_tbf_assignment_2_struct_s_12;
+   uplink_tbf_assignment_2_struct_s_12 * m_uplink_tbf_assignment_2_struct_s_12;
+}uplink_tbf_assignment_2_struct_s_11;
+
+/* SEQUENCE uplink tbf assignment 2 struct */
+typedef struct uplink_tbf_assignment_2_struct{
+   U8 pfi;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   ispresent uplink_tbf_assignment_2_struct_s_1_tag;
+   union uplink_tbf_assignment_2_struct_s_1_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }uplink_tbf_assignment_2_struct_s_1_value;
+   ispresent uplink_tbf_assignment_2_struct_s_2_tag;
+   union uplink_tbf_assignment_2_struct_s_2_value{
+      egprs_window_size_ie egprs_window_size;
+   }uplink_tbf_assignment_2_struct_s_2_value;
+   U8 usf_granularity;
+   ispresent uplink_tbf_assignment_2_struct_s_3_tag;
+   union uplink_tbf_assignment_2_struct_s_3_value{
+      U8 npm_transfer_time;
+   }uplink_tbf_assignment_2_struct_s_3_value;
+   ispresent uplink_tbf_assignment_2_struct_s_4_tag;
+   union uplink_tbf_assignment_2_struct_s_4_value{
+      uplink_tbf_assignment_2_struct_s_5 m_uplink_tbf_assignment_2_struct_s_5;
+   }uplink_tbf_assignment_2_struct_s_4_value;
+   ispresent uplink_tbf_assignment_2_struct_s_7_tag;
+   union uplink_tbf_assignment_2_struct_s_7_value{
+      tbf_timeslot_allocation_2 m_tbf_timeslot_allocation_2;
+   }uplink_tbf_assignment_2_struct_s_7_value;
+   uplink_tbf_assignment_2_struct_s_8_enum uplink_tbf_assignment_2_struct_s_8_tag;
+   union uplink_tbf_assignment_2_struct_s_8_value{
+      uplink_tbf_assignment_2_struct_s_9 m_uplink_tbf_assignment_2_struct_s_9;
+      uplink_tbf_assignment_2_struct_s_11 m_uplink_tbf_assignment_2_struct_s_11;
+   }uplink_tbf_assignment_2_struct_s_8_value;
+}uplink_tbf_assignment_2_struct;
+
+/* SEQUENCE assignment info struct */
+typedef struct assignment_info_struct{
+   U8 assignment_type;
+   U8 carrier_id;
+}assignment_info_struct;
+
+typedef enum {
+   PDCH_PAIRS_DESCRIPTION_IE_S_1,
+   PDCH_PAIRS_DESCRIPTION_IE_S_3
+}pdch_pairs_description_ie_s_0_enum;
+
+typedef enum {
+   CONCAT_00,
+   CONCAT_01,
+   PDCH_PAIRS_DESCRIPTION_IE_S_2
+}pdch_pairs_description_ie_s_1_enum;
+
+typedef struct pdch_pairs_description_ie_s_2{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}pdch_pairs_description_ie_s_2;
+
+typedef struct pdch_pairs_description_ie_s_1{
+   pdch_pairs_description_ie_s_1_enum pdch_pairs_description_ie_s_1_tag;
+   union pdch_pairs_description_ie_s_1_value{
+      pdch_pairs_description_ie_s_2 m_pdch_pairs_description_ie_s_2;
+   }pdch_pairs_description_ie_s_1_value;
+}pdch_pairs_description_ie_s_1;
+
+typedef enum {
+   PDCH_PAIRS_DESCRIPTION_IE_CONCAT_00,
+   PDCH_PAIRS_DESCRIPTION_IE_CONCAT_01,
+   PDCH_PAIRS_DESCRIPTION_IE_S_4
+}pdch_pairs_description_ie_s_3_enum;
+
+typedef struct pdch_pairs_description_ie_s_4{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}pdch_pairs_description_ie_s_4;
+
+typedef struct pdch_pairs_description_ie_s_3{
+   pdch_pairs_description_ie_s_3_enum pdch_pairs_description_ie_s_3_tag;
+   union pdch_pairs_description_ie_s_3_value{
+      pdch_pairs_description_ie_s_4 m_pdch_pairs_description_ie_s_4;
+   }pdch_pairs_description_ie_s_3_value;
+}pdch_pairs_description_ie_s_3;
+
+/* SEQUENCE pdch pairs description ie */
+typedef struct pdch_pairs_description_ie{
+   pdch_pairs_description_ie_s_0_enum pdch_pairs_description_ie_s_0_tag;
+   union pdch_pairs_description_ie_s_0_value{
+      pdch_pairs_description_ie_s_1 m_pdch_pairs_description_ie_s_1;
+      pdch_pairs_description_ie_s_3 m_pdch_pairs_description_ie_s_3;
+   }pdch_pairs_description_ie_s_0_value;
+}pdch_pairs_description_ie;
+
+/* SEQUENCE dual carrier direct encoding 1 struct */
+typedef struct dual_carrier_direct_encoding_1_struct{
+   ispresent dual_carrier_direct_encoding_1_struct_s_1_tag;
+   union dual_carrier_direct_encoding_1_struct_s_1_value{
+      U8 maio1;
+   }dual_carrier_direct_encoding_1_struct_s_1_value;
+   ispresent dual_carrier_direct_encoding_1_struct_s_2_tag;
+   union dual_carrier_direct_encoding_1_struct_s_2_value{
+      U8 maio2;
+   }dual_carrier_direct_encoding_1_struct_s_2_value;
+   gprs_mobile_allocation_ie gprs_mobile_allocation;
+}dual_carrier_direct_encoding_1_struct;
+
+typedef struct dual_carrier_indirect_encoding_struct_s_4{
+   U8 change_mark_1;
+   ispresent dual_carrier_indirect_encoding_struct_s_5_tag;
+   union dual_carrier_indirect_encoding_struct_s_5_value{
+      U8 change_mark_2;
+   }dual_carrier_indirect_encoding_struct_s_5_value;
+}dual_carrier_indirect_encoding_struct_s_4;
+
+/* SEQUENCE dual carrier indirect encoding struct */
+typedef struct dual_carrier_indirect_encoding_struct{
+   ispresent dual_carrier_indirect_encoding_struct_s_1_tag;
+   union dual_carrier_indirect_encoding_struct_s_1_value{
+      U8 maio1;
+   }dual_carrier_indirect_encoding_struct_s_1_value;
+   ispresent dual_carrier_indirect_encoding_struct_s_2_tag;
+   union dual_carrier_indirect_encoding_struct_s_2_value{
+      U8 maio2;
+   }dual_carrier_indirect_encoding_struct_s_2_value;
+   U8 ma_number;
+   ispresent dual_carrier_indirect_encoding_struct_s_3_tag;
+   union dual_carrier_indirect_encoding_struct_s_3_value{
+      dual_carrier_indirect_encoding_struct_s_4 m_dual_carrier_indirect_encoding_struct_s_4;
+   }dual_carrier_indirect_encoding_struct_s_3_value;
+}dual_carrier_indirect_encoding_struct;
+
+/* SEQUENCE dual carrier direct encoding 2 struct */
+typedef struct dual_carrier_direct_encoding_2_struct{
+   ispresent dual_carrier_direct_encoding_2_struct_s_1_tag;
+   union dual_carrier_direct_encoding_2_struct_s_1_value{
+      U8 maio1;
+   }dual_carrier_direct_encoding_2_struct_s_1_value;
+   ispresent dual_carrier_direct_encoding_2_struct_s_2_tag;
+   union dual_carrier_direct_encoding_2_struct_s_2_value{
+      U8 maio2;
+   }dual_carrier_direct_encoding_2_struct_s_2_value;
+   U8 hsn;
+   U8 length_of_ma_frequency_list_contents;
+   U16 numElements_ma_frequency_list_contents;
+   U8 * ma_frequency_list_contents;
+}dual_carrier_direct_encoding_2_struct;
+
+typedef U8 egprs_level_ie;
+
+typedef enum {
+   PULSE_FORMAT_CODING_1,
+   PULSE_FORMAT_CODING_2
+}pulse_format_ie_s_0_enum;
+
+/* SEQUENCE pulse format ie */
+typedef struct pulse_format_ie{
+   pulse_format_ie_s_0_enum pulse_format_ie_s_0_tag;
+   union pulse_format_ie_s_0_value{
+      U8 pulse_format_coding_1;
+      U8 pulse_format_coding_2;
+   }pulse_format_ie_s_0_value;
+}pulse_format_ie;
+
+/* SEQUENCE downlink tbf assignment 2 struct */
+typedef struct downlink_tbf_assignment_2_struct{
+   U8 pfi;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   U8 control_ack;
+   ispresent downlink_tbf_assignment_2_struct_s_1_tag;
+   union downlink_tbf_assignment_2_struct_s_1_value{
+      U8 npm_transfer_time;
+   }downlink_tbf_assignment_2_struct_s_1_value;
+   U8 event_based_fanr;
+   ispresent downlink_tbf_assignment_2_struct_s_2_tag;
+   union downlink_tbf_assignment_2_struct_s_2_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }downlink_tbf_assignment_2_struct_s_2_value;
+}downlink_tbf_assignment_2_struct;
+
+/* SEQUENCE downlink tbf assignment 2 struct 2 */
+typedef struct downlink_tbf_assignment_2_struct_2{
+   ispresent downlink_tbf_assignment_2_struct_2_s_1_tag;
+   union downlink_tbf_assignment_2_struct_2_s_1_value{
+      U8 pfi;
+   }downlink_tbf_assignment_2_struct_2_s_1_value;
+   U8 rlc_mode;
+   ispresent downlink_tbf_assignment_2_struct_2_s_2_tag;
+   union downlink_tbf_assignment_2_struct_2_s_2_value{
+      U8 uplink_control_timeslot_c1;
+   }downlink_tbf_assignment_2_struct_2_s_2_value;
+   ispresent downlink_tbf_assignment_2_struct_2_s_3_tag;
+   union downlink_tbf_assignment_2_struct_2_s_3_value{
+      U8 uplink_control_timeslot_c2;
+   }downlink_tbf_assignment_2_struct_2_s_3_value;
+   U8 tfi_assignment;
+   U8 control_ack;
+   ispresent downlink_tbf_assignment_2_struct_2_s_4_tag;
+   union downlink_tbf_assignment_2_struct_2_s_4_value{
+      U8 npm_transfer_time;
+   }downlink_tbf_assignment_2_struct_2_s_4_value;
+   U8 event_based_fanr;
+   ispresent downlink_tbf_assignment_2_struct_2_s_5_tag;
+   union downlink_tbf_assignment_2_struct_2_s_5_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }downlink_tbf_assignment_2_struct_2_s_5_value;
+}downlink_tbf_assignment_2_struct_2;
+
+typedef struct uplink_tbf_assignment_2_struct_for_mttr_s_5{
+   U8 reported_timeslots_c1;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_6_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_6_value{
+      U8 reported_timeslots_c2;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_6_value;
+}uplink_tbf_assignment_2_struct_for_mttr_s_5;
+
+typedef struct tbf_timeslot_allocation_3{
+   U16 numElements_tbf_timeslot_allocation_3;
+   U8 * tbf_timeslot_allocation_3;
+}tbf_timeslot_allocation_3;
+
+typedef enum {
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_FOR_MTTR_S_9,
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_FOR_MTTR_S_11
+}uplink_tbf_assignment_2_struct_for_mttr_s_8_enum;
+
+typedef struct uplink_tbf_assignment_2_struct_for_mttr_s_9{
+   U8 usf_allocation_c1;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_10_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_10_value{
+      U8 usf_allocation_c2;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_10_value;
+}uplink_tbf_assignment_2_struct_for_mttr_s_9;
+
+typedef struct uplink_tbf_assignment_2_struct_for_mttr_s_12{
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_12_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_12_value{
+      U8 usf_allocation;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_12_value;
+}uplink_tbf_assignment_2_struct_for_mttr_s_12;
+
+typedef struct uplink_tbf_assignment_2_struct_for_mttr_s_11{
+   U8 usf_allocation;
+   U16 numElements_m_uplink_tbf_assignment_2_struct_for_mttr_s_12;
+   uplink_tbf_assignment_2_struct_for_mttr_s_12 * m_uplink_tbf_assignment_2_struct_for_mttr_s_12;
+}uplink_tbf_assignment_2_struct_for_mttr_s_11;
+
+/* SEQUENCE uplink tbf assignment 2 struct for mttr */
+typedef struct uplink_tbf_assignment_2_struct_for_mttr{
+   U8 pfi;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_1_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_1_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_1_value;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_2_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_2_value{
+      egprs_window_size_ie egprs_window_size;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_2_value;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_3_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_3_value{
+      U8 npm_transfer_time;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_3_value;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_4_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_4_value{
+      uplink_tbf_assignment_2_struct_for_mttr_s_5 m_uplink_tbf_assignment_2_struct_for_mttr_s_5;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_4_value;
+   U8 usf_granularity;
+   ispresent uplink_tbf_assignment_2_struct_for_mttr_s_7_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_7_value{
+      tbf_timeslot_allocation_3 m_tbf_timeslot_allocation_3;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_7_value;
+   uplink_tbf_assignment_2_struct_for_mttr_s_8_enum uplink_tbf_assignment_2_struct_for_mttr_s_8_tag;
+   union uplink_tbf_assignment_2_struct_for_mttr_s_8_value{
+      uplink_tbf_assignment_2_struct_for_mttr_s_9 m_uplink_tbf_assignment_2_struct_for_mttr_s_9;
+      uplink_tbf_assignment_2_struct_for_mttr_s_11 m_uplink_tbf_assignment_2_struct_for_mttr_s_11;
+   }uplink_tbf_assignment_2_struct_for_mttr_s_8_value;
+}uplink_tbf_assignment_2_struct_for_mttr;
+
+typedef struct power_control_parameter_in_mtbf_assignment_s_3{
+   ispresent power_control_parameter_in_mtbf_assignment_s_3_tag;
+   union power_control_parameter_in_mtbf_assignment_s_3_value{
+      U8 gamma;
+   }power_control_parameter_in_mtbf_assignment_s_3_value;
+}power_control_parameter_in_mtbf_assignment_s_3;
+
+typedef struct power_control_parameter_in_mtbf_assignment_s_5{
+   ispresent power_control_parameter_in_mtbf_assignment_s_5_tag;
+   union power_control_parameter_in_mtbf_assignment_s_5_value{
+      U8 gamma;
+   }power_control_parameter_in_mtbf_assignment_s_5_value;
+}power_control_parameter_in_mtbf_assignment_s_5;
+
+typedef struct _power_control_parameter_in_mtbf_assignment_s_5{
+   U16 numElements_m_power_control_parameter_in_mtbf_assignment_s_5;
+   power_control_parameter_in_mtbf_assignment_s_5 * m_power_control_parameter_in_mtbf_assignment_s_5;
+}_power_control_parameter_in_mtbf_assignment_s_5;
+
+typedef struct power_control_parameter_in_mtbf_assignment_s_1{
+   U8 alpha_c1;
+   ispresent power_control_parameter_in_mtbf_assignment_s_2_tag;
+   union power_control_parameter_in_mtbf_assignment_s_2_value{
+      U8 alpha_c2;
+   }power_control_parameter_in_mtbf_assignment_s_2_value;
+   U8 n_pairs;
+   U16 numElements_m_power_control_parameter_in_mtbf_assignment_s_3;
+   power_control_parameter_in_mtbf_assignment_s_3 * m_power_control_parameter_in_mtbf_assignment_s_3;
+   ispresent power_control_parameter_in_mtbf_assignment_s_4_tag;
+   union power_control_parameter_in_mtbf_assignment_s_4_value{
+      _power_control_parameter_in_mtbf_assignment_s_5 m_power_control_parameter_in_mtbf_assignment_s_5;
+   }power_control_parameter_in_mtbf_assignment_s_4_value;
+}power_control_parameter_in_mtbf_assignment_s_1;
+
+/* SEQUENCE power control parameter in mtbf assignment */
+typedef struct power_control_parameter_in_mtbf_assignment{
+   ispresent power_control_parameter_in_mtbf_assignment_s_0_tag;
+   union power_control_parameter_in_mtbf_assignment_s_0_value{
+      power_control_parameter_in_mtbf_assignment_s_1 m_power_control_parameter_in_mtbf_assignment_s_1;
+   }power_control_parameter_in_mtbf_assignment_s_0_value;
+}power_control_parameter_in_mtbf_assignment;
+
+typedef struct uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_6{
+   U8 reported_timeslots_c1;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_7_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_7_value{
+      U8 reported_timeslots_c2;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_7_value;
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_6;
+
+typedef struct tbf_timeslot_allocation_4{
+   U16 numElements_tbf_timeslot_allocation_4;
+   U8 * tbf_timeslot_allocation_4;
+}tbf_timeslot_allocation_4;
+
+typedef enum {
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_IN_PS_HO_RR_2_S_10,
+   UPLINK_TBF_ASSIGNMENT_2_STRUCT_IN_PS_HO_RR_2_S_12
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_9_enum;
+
+typedef struct uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_10{
+   U8 usf_allocation_c1;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_11_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_11_value{
+      U8 usf_allocation_c2;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_11_value;
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_10;
+
+typedef struct uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13{
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13_value{
+      U8 usf_allocation;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13_value;
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13;
+
+typedef struct uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_12{
+   U8 usf_allocation;
+   U16 numElements_m_uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13;
+   uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13 * m_uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_13;
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_12;
+
+/* SEQUENCE uplink tbf assignment 2 struct in ps ho rr 2 */
+typedef struct uplink_tbf_assignment_2_struct_in_ps_ho_rr_2{
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_1_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_1_value{
+      U8 pfi;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_1_value;
+   U8 rlc_mode;
+   U8 tfi_assignment;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_2_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_2_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_2_value;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_3_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_3_value{
+      egprs_window_size_ie egprs_window_size;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_3_value;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_4_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_4_value{
+      U8 npm_transfer_time;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_4_value;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_5_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_5_value{
+      uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_6 m_uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_6;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_5_value;
+   U8 usf_granularity;
+   ispresent uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_8_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_8_value{
+      tbf_timeslot_allocation_4 m_tbf_timeslot_allocation_4;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_8_value;
+   uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_9_enum uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_9_tag;
+   union uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_9_value{
+      uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_10 m_uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_10;
+      uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_12 m_uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_12;
+   }uplink_tbf_assignment_2_struct_in_ps_ho_rr_2_s_9_value;
+}uplink_tbf_assignment_2_struct_in_ps_ho_rr_2;
+
+/* SEQUENCE extension information */
+typedef struct extension_information{
+   Bool is_extension_information_bit_present; //truncation or optional 
+   U8 extension_information_bit;
+}extension_information;
+
+/* SEQUENCE e-utran target cell ie */
+typedef struct e_utran_target_cell_ie{
+   U16 earfcn;
+   ispresent e_utran_target_cell_ie_s_1_tag;
+   union e_utran_target_cell_ie_s_1_value{
+      U8 measurement_bandwidth;
+   }e_utran_target_cell_ie_s_1_value;
+   U16 physical_layer_cell_identity;
+}e_utran_target_cell_ie;
+
+/* SEQUENCE e-utran target cell ie */
+typedef struct e_utran_target_cell_extended_earfcn_ie{
+   U32 extended_earfcn;
+   ispresent e_utran_target_cell_extended_earfcn_ie_s_1_tag;
+   union e_utran_target_cell_extended_earfcn_ie_s_1_value{
+      U8 measurement_bandwidth;
+   }e_utran_target_cell_extended_earfcn_ie_s_1_value;
+   U16 physical_layer_cell_identity;
+}e_utran_target_cell_extended_earfcn_ie;
+
+/* SEQUENCE plmn-id field */
+typedef struct plmn_id_field{
+   U16 mcc;
+   U16 mnc;
+}plmn_id_field;
+
+/* SEQUENCE utran csg target cell ie */
+typedef struct utran_csg_target_cell_ie{
+   U32 utran_ci;
+   ispresent utran_csg_target_cell_ie_s_1_tag;
+   union utran_csg_target_cell_ie_s_1_value{
+      plmn_id_field plmn_id;
+   }utran_csg_target_cell_ie_s_1_value;
+}utran_csg_target_cell_ie;
+
+/* SEQUENCE e-utran csg target cell ie */
+typedef struct e_utran_csg_target_cell_ie{
+   U32 e__utran_ci;
+   U16 tracking_area_code;
+   ispresent e_utran_csg_target_cell_ie_s_1_tag;
+   union e_utran_csg_target_cell_ie_s_1_value{
+      plmn_id_field plmn_id;
+   }e_utran_csg_target_cell_ie_s_1_value;
+}e_utran_csg_target_cell_ie;
+
+/* SEQUENCE e-utran target cell struct */
+typedef struct e_utran_target_cell_struct{
+   U16 earfcn;
+   ispresent e_utran_target_cell_struct_s_1_tag;
+   union e_utran_target_cell_struct_s_1_value{
+      U8 measurement_bandwidth;
+   }e_utran_target_cell_struct_s_1_value;
+   U16 physical_layer_cell_identity;
+   U8 reporting_quantity;
+}e_utran_target_cell_struct;
+
+/* SEQUENCE e-utran target cell struct */
+typedef struct e_utran_target_cell_extended_earfcn_struct{
+   U32 extended_earfcn;
+   ispresent e_utran_target_cell_extended_earfcn_struct_s_1_tag;
+   union e_utran_target_cell_extended_earfcn_struct_s_1_value{
+      U8 measurement_bandwidth;
+   }e_utran_target_cell_extended_earfcn_struct_s_1_value;
+   U16 physical_layer_cell_identity;
+   U8 reporting_quantity;
+}e_utran_target_cell_extended_earfcn_struct;
+
+typedef struct e_utran_ccn_measurement_report_struct_s_1{
+   U8 e_utran_frequency_index;
+   U16 cell_identity;
+   U8 reporting_quantity;
+}e_utran_ccn_measurement_report_struct_s_1;
+
+/* SEQUENCE e-utran ccn measurement report struct */
+typedef struct e_utran_ccn_measurement_report_struct{
+   U8 p_3_g_ba_used;
+   U8 n_e_utran;
+   U16 numElements_m_e_utran_ccn_measurement_report_struct_s_1;
+   e_utran_ccn_measurement_report_struct_s_1 * m_e_utran_ccn_measurement_report_struct_s_1;
+}e_utran_ccn_measurement_report_struct;
+
+/* SEQUENCE utran csg measurement report ie */
+typedef struct utran_csg_measurement_report_ie{
+   U32 utran_cgi;
+   ispresent utran_csg_measurement_report_ie_s_1_tag;
+   union utran_csg_measurement_report_ie_s_1_value{
+      plmn_id_field plmn_id;
+   }utran_csg_measurement_report_ie_s_1_value;
+   U32 csg_id;
+   U8 access_mode;
+   U8 reporting_quantity;
+}utran_csg_measurement_report_ie;
+
+/* SEQUENCE e-utran csg measurement report ie */
+typedef struct e_utran_csg_measurement_report_ie{
+   U32 e_utran_ci;
+   U16 tracking_area_code;
+   ispresent e_utran_csg_measurement_report_ie_s_1_tag;
+   union e_utran_csg_measurement_report_ie_s_1_value{
+      plmn_id_field plmn_id;
+   }e_utran_csg_measurement_report_ie_s_1_value;
+   U32 csg_id;
+   U8 access_mode;
+   U8 reporting_quantity;
+}e_utran_csg_measurement_report_ie;
+
+/* SEQUENCE uplink header struct */
+typedef struct uplink_header_struct{
+   U8 payload_type;
+   U8 retry;
+   U8 message_type;
+}uplink_header_struct;
+
+/* SEQUENCE channel request description ie */
+typedef struct channel_request_description_ie{
+   U8 peak_throughput_class;
+   U8 radio_priority;
+   U8 rlc_mode;
+   U8 llc__pdu_type;
+   U16 rlc_octet_count;
+}channel_request_description_ie;
+
+/* SEQUENCE iu mode channel request description ie */
+typedef struct iu_mode_channel_request_description_ie{
+   U8 rb_id;
+   U8 radio_priority;
+   ispresent iu_mode_channel_request_description_ie_s_1_tag;
+   union iu_mode_channel_request_description_ie_s_1_value{
+      U8 rlc_block_count;
+   }iu_mode_channel_request_description_ie_s_1_value;
+   ispresent iu_mode_channel_request_description_ie_s_2_tag;
+   union iu_mode_channel_request_description_ie_s_2_value{
+      struct iu_mode_channel_request_description_ie * m_iu_mode_channel_request_description_ie;
+   }iu_mode_channel_request_description_ie_s_2_value;
+}iu_mode_channel_request_description_ie;
+
+/* SEQUENCE extended channel request description ie */
+typedef struct extended_channel_request_description_ie{
+   U8 pfi;
+   U8 radio_priority;
+   U8 rlc_mode;
+   ispresent extended_channel_request_description_ie_s_1_tag;
+   union extended_channel_request_description_ie_s_1_value{
+      U8 llc__pdu_type;
+   }extended_channel_request_description_ie_s_1_value;
+   ispresent extended_channel_request_description_ie_s_2_tag;
+   union extended_channel_request_description_ie_s_2_value{
+      struct extended_channel_request_description_ie * m_extended_channel_request_description_ie;
+   }extended_channel_request_description_ie_s_2_value;
+}extended_channel_request_description_ie;
+
+typedef struct egprs_bep_link_quality_measurements_ie_s_2{
+   U8 gmsk_mean_bep;
+   U8 gmsk_cv_bep;
+}egprs_bep_link_quality_measurements_ie_s_2;
+
+typedef struct egprs_bep_link_quality_measurements_ie_s_4{
+   U8 p_8_psk_mean_bep;
+   U8 p_8_psk_cv_bep;
+}egprs_bep_link_quality_measurements_ie_s_4;
+
+/* SEQUENCE egprs bep link quality measurements ie */
+typedef struct egprs_bep_link_quality_measurements_ie{
+   ispresent egprs_bep_link_quality_measurements_ie_s_1_tag;
+   union egprs_bep_link_quality_measurements_ie_s_1_value{
+      egprs_bep_link_quality_measurements_ie_s_2 m_egprs_bep_link_quality_measurements_ie_s_2;
+   }egprs_bep_link_quality_measurements_ie_s_1_value;
+   ispresent egprs_bep_link_quality_measurements_ie_s_3_tag;
+   union egprs_bep_link_quality_measurements_ie_s_3_value{
+      egprs_bep_link_quality_measurements_ie_s_4 m_egprs_bep_link_quality_measurements_ie_s_4;
+   }egprs_bep_link_quality_measurements_ie_s_3_value;
+}egprs_bep_link_quality_measurements_ie;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN0,
+   P_8_PSK_MEAN_BEP__TN0
+}bep_measurement_report_struct_s_2_enum;
+
+typedef struct bep_measurement_report_struct_s_2{
+   bep_measurement_report_struct_s_2_enum bep_measurement_report_struct_s_2_tag;
+   union bep_measurement_report_struct_s_2_value{
+      U8 gmsk_mean_bep__tn0;
+      U8 p_8_psk_mean_bep__tn0;
+   }bep_measurement_report_struct_s_2_value;
+}bep_measurement_report_struct_s_2;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN1,
+   P_8_PSK_MEAN_BEP__TN1
+}bep_measurement_report_struct_s_4_enum;
+
+typedef struct bep_measurement_report_struct_s_4{
+   bep_measurement_report_struct_s_4_enum bep_measurement_report_struct_s_4_tag;
+   union bep_measurement_report_struct_s_4_value{
+      U8 gmsk_mean_bep__tn1;
+      U8 p_8_psk_mean_bep__tn1;
+   }bep_measurement_report_struct_s_4_value;
+}bep_measurement_report_struct_s_4;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN2,
+   P_8_PSK_MEAN_BEP__TN2
+}bep_measurement_report_struct_s_6_enum;
+
+typedef struct bep_measurement_report_struct_s_6{
+   bep_measurement_report_struct_s_6_enum bep_measurement_report_struct_s_6_tag;
+   union bep_measurement_report_struct_s_6_value{
+      U8 gmsk_mean_bep__tn2;
+      U8 p_8_psk_mean_bep__tn2;
+   }bep_measurement_report_struct_s_6_value;
+}bep_measurement_report_struct_s_6;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN3,
+   P_8_PSK_MEAN_BEP__TN3
+}bep_measurement_report_struct_s_8_enum;
+
+typedef struct bep_measurement_report_struct_s_8{
+   bep_measurement_report_struct_s_8_enum bep_measurement_report_struct_s_8_tag;
+   union bep_measurement_report_struct_s_8_value{
+      U8 gmsk_mean_bep__tn3;
+      U8 p_8_psk_mean_bep__tn3;
+   }bep_measurement_report_struct_s_8_value;
+}bep_measurement_report_struct_s_8;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN4,
+   P_8_PSK_MEAN_BEP__TN4
+}bep_measurement_report_struct_s_10_enum;
+
+typedef struct bep_measurement_report_struct_s_10{
+   bep_measurement_report_struct_s_10_enum bep_measurement_report_struct_s_10_tag;
+   union bep_measurement_report_struct_s_10_value{
+      U8 gmsk_mean_bep__tn4;
+      U8 p_8_psk_mean_bep__tn4;
+   }bep_measurement_report_struct_s_10_value;
+}bep_measurement_report_struct_s_10;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN5,
+   P_8_PSK_MEAN_BEP__TN5
+}bep_measurement_report_struct_s_12_enum;
+
+typedef struct bep_measurement_report_struct_s_12{
+   bep_measurement_report_struct_s_12_enum bep_measurement_report_struct_s_12_tag;
+   union bep_measurement_report_struct_s_12_value{
+      U8 gmsk_mean_bep__tn5;
+      U8 p_8_psk_mean_bep__tn5;
+   }bep_measurement_report_struct_s_12_value;
+}bep_measurement_report_struct_s_12;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN6,
+   P_8_PSK_MEAN_BEP__TN6
+}bep_measurement_report_struct_s_14_enum;
+
+typedef struct bep_measurement_report_struct_s_14{
+   bep_measurement_report_struct_s_14_enum bep_measurement_report_struct_s_14_tag;
+   union bep_measurement_report_struct_s_14_value{
+      U8 gmsk_mean_bep__tn6;
+      U8 p_8_psk_mean_bep__tn6;
+   }bep_measurement_report_struct_s_14_value;
+}bep_measurement_report_struct_s_14;
+
+typedef enum {
+   GMSK_MEAN_BEP__TN7,
+   P_8_PSK_MEAN_BEP__TN7
+}bep_measurement_report_struct_s_16_enum;
+
+typedef struct bep_measurement_report_struct_s_16{
+   bep_measurement_report_struct_s_16_enum bep_measurement_report_struct_s_16_tag;
+   union bep_measurement_report_struct_s_16_value{
+      U8 gmsk_mean_bep__tn7;
+      U8 p_8_psk_mean_bep__tn7;
+   }bep_measurement_report_struct_s_16_value;
+}bep_measurement_report_struct_s_16;
+
+/* SEQUENCE bep measurement report struct */
+typedef struct bep_measurement_report_struct{
+   ispresent bep_measurement_report_struct_s_1_tag;
+   union bep_measurement_report_struct_s_1_value{
+      bep_measurement_report_struct_s_2 m_bep_measurement_report_struct_s_2;
+   }bep_measurement_report_struct_s_1_value;
+   ispresent bep_measurement_report_struct_s_3_tag;
+   union bep_measurement_report_struct_s_3_value{
+      bep_measurement_report_struct_s_4 m_bep_measurement_report_struct_s_4;
+   }bep_measurement_report_struct_s_3_value;
+   ispresent bep_measurement_report_struct_s_5_tag;
+   union bep_measurement_report_struct_s_5_value{
+      bep_measurement_report_struct_s_6 m_bep_measurement_report_struct_s_6;
+   }bep_measurement_report_struct_s_5_value;
+   ispresent bep_measurement_report_struct_s_7_tag;
+   union bep_measurement_report_struct_s_7_value{
+      bep_measurement_report_struct_s_8 m_bep_measurement_report_struct_s_8;
+   }bep_measurement_report_struct_s_7_value;
+   ispresent bep_measurement_report_struct_s_9_tag;
+   union bep_measurement_report_struct_s_9_value{
+      bep_measurement_report_struct_s_10 m_bep_measurement_report_struct_s_10;
+   }bep_measurement_report_struct_s_9_value;
+   ispresent bep_measurement_report_struct_s_11_tag;
+   union bep_measurement_report_struct_s_11_value{
+      bep_measurement_report_struct_s_12 m_bep_measurement_report_struct_s_12;
+   }bep_measurement_report_struct_s_11_value;
+   ispresent bep_measurement_report_struct_s_13_tag;
+   union bep_measurement_report_struct_s_13_value{
+      bep_measurement_report_struct_s_14 m_bep_measurement_report_struct_s_14;
+   }bep_measurement_report_struct_s_13_value;
+   ispresent bep_measurement_report_struct_s_15_tag;
+   union bep_measurement_report_struct_s_15_value{
+      bep_measurement_report_struct_s_16 m_bep_measurement_report_struct_s_16;
+   }bep_measurement_report_struct_s_15_value;
+}bep_measurement_report_struct;
+
+/* SEQUENCE interference measurement report struct */
+typedef struct interference_measurement_report_struct{
+   ispresent interference_measurement_report_struct_s_1_tag;
+   union interference_measurement_report_struct_s_1_value{
+      U8 i_level_tn0;
+   }interference_measurement_report_struct_s_1_value;
+   ispresent interference_measurement_report_struct_s_2_tag;
+   union interference_measurement_report_struct_s_2_value{
+      U8 i_level_tn1;
+   }interference_measurement_report_struct_s_2_value;
+   ispresent interference_measurement_report_struct_s_3_tag;
+   union interference_measurement_report_struct_s_3_value{
+      U8 i_level_tn2;
+   }interference_measurement_report_struct_s_3_value;
+   ispresent interference_measurement_report_struct_s_4_tag;
+   union interference_measurement_report_struct_s_4_value{
+      U8 i_level_tn3;
+   }interference_measurement_report_struct_s_4_value;
+   ispresent interference_measurement_report_struct_s_5_tag;
+   union interference_measurement_report_struct_s_5_value{
+      U8 i_level_tn4;
+   }interference_measurement_report_struct_s_5_value;
+   ispresent interference_measurement_report_struct_s_6_tag;
+   union interference_measurement_report_struct_s_6_value{
+      U8 i_level_tn5;
+   }interference_measurement_report_struct_s_6_value;
+   ispresent interference_measurement_report_struct_s_7_tag;
+   union interference_measurement_report_struct_s_7_value{
+      U8 i_level_tn6;
+   }interference_measurement_report_struct_s_7_value;
+   ispresent interference_measurement_report_struct_s_8_tag;
+   union interference_measurement_report_struct_s_8_value{
+      U8 i_level_tn7;
+   }interference_measurement_report_struct_s_8_value;
+}interference_measurement_report_struct;
+
+typedef struct ccn_measurement_report_struct_s_2{
+   U8 frequency_n;
+   ispresent ccn_measurement_report_struct_s_3_tag;
+   union ccn_measurement_report_struct_s_3_value{
+      U8 bsic_n;
+   }ccn_measurement_report_struct_s_3_value;
+   U8 rxlev_n;
+}ccn_measurement_report_struct_s_2;
+
+/* SEQUENCE ccn measurement report struct */
+typedef struct ccn_measurement_report_struct{
+   U8 rxlev_serving_cell;
+   ispresent ccn_measurement_report_struct_s_1_tag;
+   union ccn_measurement_report_struct_s_1_value{
+      U8 interference_serving_cell;
+   }ccn_measurement_report_struct_s_1_value;
+   U8 number_of_nc_measurements;
+   U16 numElements_m_ccn_measurement_report_struct_s_2;
+   ccn_measurement_report_struct_s_2 * m_ccn_measurement_report_struct_s_2;
+}ccn_measurement_report_struct;
+
+typedef struct p_3_g_target_cell_struct_s_2{
+   U16 fdd_arfcn;
+   ispresent p_3_g_target_cell_struct_s_3_tag;
+   union p_3_g_target_cell_struct_s_3_value{
+      U8 bandwidth_fdd;
+   }p_3_g_target_cell_struct_s_3_value;
+   U16 scrambling_code;
+}p_3_g_target_cell_struct_s_2;
+
+typedef struct p_3_g_target_cell_struct_s_5{
+   U16 tdd_arfcn;
+   ispresent p_3_g_target_cell_struct_s_6_tag;
+   union p_3_g_target_cell_struct_s_6_value{
+      U8 bandwidth_tdd;
+   }p_3_g_target_cell_struct_s_6_value;
+   U8 cell_parameter;
+   U8 sync_case;
+}p_3_g_target_cell_struct_s_5;
+
+/* SEQUENCE 3 g target cell struct */
+typedef struct p_3_g_target_cell_struct{
+   ispresent p_3_g_target_cell_struct_s_1_tag;
+   union p_3_g_target_cell_struct_s_1_value{
+      p_3_g_target_cell_struct_s_2 m_p_3_g_target_cell_struct_s_2;
+   }p_3_g_target_cell_struct_s_1_value;
+   ispresent p_3_g_target_cell_struct_s_4_tag;
+   union p_3_g_target_cell_struct_s_4_value{
+      p_3_g_target_cell_struct_s_5 m_p_3_g_target_cell_struct_s_5;
+   }p_3_g_target_cell_struct_s_4_value;
+   U8 reporting_quantity;
+}p_3_g_target_cell_struct;
+
+typedef struct p_3_g_ccn_measurement_report_struct_s_1{
+   U8 p_3_g_cell_list_index;
+   U8 reporting_quantity;
+}p_3_g_ccn_measurement_report_struct_s_1;
+
+/* SEQUENCE 3 g ccn measurement report struct */
+typedef struct p_3_g_ccn_measurement_report_struct{
+   U8 n_3g;
+   U16 numElements_m_p_3_g_ccn_measurement_report_struct_s_1;
+   p_3_g_ccn_measurement_report_struct_s_1 * m_p_3_g_ccn_measurement_report_struct_s_1;
+}p_3_g_ccn_measurement_report_struct;
+
+/* SEQUENCE channel quality report struct */
+typedef struct channel_quality_report_struct{
+   U8 c_value;
+   U8 rxqual;
+   U8 sign_var;
+   ispresent channel_quality_report_struct_s_1_tag;
+   union channel_quality_report_struct_s_1_value{
+      U8 i_level_tn0;
+   }channel_quality_report_struct_s_1_value;
+   ispresent channel_quality_report_struct_s_2_tag;
+   union channel_quality_report_struct_s_2_value{
+      U8 i_level_tn1;
+   }channel_quality_report_struct_s_2_value;
+   ispresent channel_quality_report_struct_s_3_tag;
+   union channel_quality_report_struct_s_3_value{
+      U8 i_level_tn2;
+   }channel_quality_report_struct_s_3_value;
+   ispresent channel_quality_report_struct_s_4_tag;
+   union channel_quality_report_struct_s_4_value{
+      U8 i_level_tn3;
+   }channel_quality_report_struct_s_4_value;
+   ispresent channel_quality_report_struct_s_5_tag;
+   union channel_quality_report_struct_s_5_value{
+      U8 i_level_tn4;
+   }channel_quality_report_struct_s_5_value;
+   ispresent channel_quality_report_struct_s_6_tag;
+   union channel_quality_report_struct_s_6_value{
+      U8 i_level_tn5;
+   }channel_quality_report_struct_s_6_value;
+   ispresent channel_quality_report_struct_s_7_tag;
+   union channel_quality_report_struct_s_7_value{
+      U8 i_level_tn6;
+   }channel_quality_report_struct_s_7_value;
+   ispresent channel_quality_report_struct_s_8_tag;
+   union channel_quality_report_struct_s_8_value{
+      U8 i_level_tn7;
+   }channel_quality_report_struct_s_8_value;
+}channel_quality_report_struct;
+
+/* SEQUENCE epd a/n extension info */
+typedef struct epd_a_n_extension_info{
+   Bool is_epd_a_n_extension_info_s_1_present; //truncation or optional 
+   ispresent epd_a_n_extension_info_s_2_tag;
+   union epd_a_n_extension_info_s_2_value{
+      struct iu_mode_channel_request_description_ie * iu_mode_channel_request_description;
+   }epd_a_n_extension_info_s_2_value;
+   ispresent epd_a_n_extension_info_s_3_tag;
+   union epd_a_n_extension_info_s_3_value{
+      U8 rb_id;
+   }epd_a_n_extension_info_s_3_value;
+   ispresent epd_a_n_extension_info_s_4_tag;
+   union epd_a_n_extension_info_s_4_value{
+      U8 timeslot_number;
+   }epd_a_n_extension_info_s_4_value;
+   Bool is_epd_a_n_extension_info_s_5_present; //truncation or optional 
+   ispresent epd_a_n_extension_info_s_6_tag;
+   union epd_a_n_extension_info_s_6_value{
+      struct extended_channel_request_description_ie * extended_channel_request_description;
+   }epd_a_n_extension_info_s_6_value;
+}epd_a_n_extension_info;
+
+typedef struct nc_measurement_report_struct_s_2{
+   U8 frequency_n;
+   ispresent nc_measurement_report_struct_s_3_tag;
+   union nc_measurement_report_struct_s_3_value{
+      U8 bsic_n;
+   }nc_measurement_report_struct_s_3_value;
+   U8 rxlev_n;
+}nc_measurement_report_struct_s_2;
+
+/* SEQUENCE nc measurement report struct */
+typedef struct nc_measurement_report_struct{
+   U8 nc_mode;
+   U8 rxlev_serving_cell;
+   ispresent nc_measurement_report_struct_s_1_tag;
+   union nc_measurement_report_struct_s_1_value{
+      U8 interference_serving_cell;
+   }nc_measurement_report_struct_s_1_value;
+   U8 number_of_nc_measurements;
+   U16 numElements_m_nc_measurement_report_struct_s_2;
+   nc_measurement_report_struct_s_2 * m_nc_measurement_report_struct_s_2;
+}nc_measurement_report_struct;
+
+typedef struct ext_measurement_report_struct_s_2{
+   ispresent ext_measurement_report_struct_s_3_tag;
+   union ext_measurement_report_struct_s_3_value{
+      U8 i_level_tn0;
+   }ext_measurement_report_struct_s_3_value;
+   ispresent ext_measurement_report_struct_s_4_tag;
+   union ext_measurement_report_struct_s_4_value{
+      U8 i_level_tn1;
+   }ext_measurement_report_struct_s_4_value;
+   ispresent ext_measurement_report_struct_s_5_tag;
+   union ext_measurement_report_struct_s_5_value{
+      U8 i_level_tn2;
+   }ext_measurement_report_struct_s_5_value;
+   ispresent ext_measurement_report_struct_s_6_tag;
+   union ext_measurement_report_struct_s_6_value{
+      U8 i_level_tn3;
+   }ext_measurement_report_struct_s_6_value;
+   ispresent ext_measurement_report_struct_s_7_tag;
+   union ext_measurement_report_struct_s_7_value{
+      U8 i_level_tn4;
+   }ext_measurement_report_struct_s_7_value;
+   ispresent ext_measurement_report_struct_s_8_tag;
+   union ext_measurement_report_struct_s_8_value{
+      U8 i_level_tn5;
+   }ext_measurement_report_struct_s_8_value;
+   ispresent ext_measurement_report_struct_s_9_tag;
+   union ext_measurement_report_struct_s_9_value{
+      U8 i_level_tn6;
+   }ext_measurement_report_struct_s_9_value;
+   ispresent ext_measurement_report_struct_s_10_tag;
+   union ext_measurement_report_struct_s_10_value{
+      U8 i_level_tn7;
+   }ext_measurement_report_struct_s_10_value;
+}ext_measurement_report_struct_s_2;
+
+typedef struct ext_measurement_report_struct_s_11{
+   U8 frequency_n;
+   ispresent ext_measurement_report_struct_s_12_tag;
+   union ext_measurement_report_struct_s_12_value{
+      U8 bsic_n;
+   }ext_measurement_report_struct_s_12_value;
+   U8 rxlev_n;
+}ext_measurement_report_struct_s_11;
+
+/* SEQUENCE ext measurement report struct */
+typedef struct ext_measurement_report_struct{
+   U8 ext_reporting_type;
+   ispresent ext_measurement_report_struct_s_1_tag;
+   union ext_measurement_report_struct_s_1_value{
+      ext_measurement_report_struct_s_2 m_ext_measurement_report_struct_s_2;
+   }ext_measurement_report_struct_s_1_value;
+   U8 number_of_measurements;
+   U16 numElements_m_ext_measurement_report_struct_s_11;
+   ext_measurement_report_struct_s_11 * m_ext_measurement_report_struct_s_11;
+}ext_measurement_report_struct;
+
+typedef struct p_3_g_measurement_report_struct_s_1{
+   U8 p_3_g_cell_list_index;
+   U8 reporting_quantity;
+}p_3_g_measurement_report_struct_s_1;
+
+/* SEQUENCE 3 g measurement report struct */
+typedef struct p_3_g_measurement_report_struct{
+   U8 n_3g;
+   U16 numElements_m_p_3_g_measurement_report_struct_s_1;
+   p_3_g_measurement_report_struct_s_1 * m_p_3_g_measurement_report_struct_s_1;
+}p_3_g_measurement_report_struct;
+
+/* SEQUENCE serving cell data struct 1 */
+typedef struct serving_cell_data_struct_1{
+   U8 rxlev_serving_cell;
+   ispresent serving_cell_data_struct_1_s_1_tag;
+   union serving_cell_data_struct_1_s_1_value{
+      U8 interference_serving_cell;
+   }serving_cell_data_struct_1_s_1_value;
+}serving_cell_data_struct_1;
+
+typedef struct psi_message_list_struct_s_3{
+   U8 psix_count;
+   U16 numElements_instance_bitmap;
+   U8 * instance_bitmap;
+}psi_message_list_struct_s_3;
+
+typedef struct psi_message_list_struct_s_1{
+   U8 message_type;
+   U8 psix_change_mark;
+   ispresent psi_message_list_struct_s_2_tag;
+   union psi_message_list_struct_s_2_value{
+      psi_message_list_struct_s_3 m_psi_message_list_struct_s_3;
+   }psi_message_list_struct_s_2_value;
+}psi_message_list_struct_s_1;
+
+/* SEQUENCE psi message list struct */
+typedef struct psi_message_list_struct{
+   U16 numElements_m_psi_message_list_struct_s_1;
+   psi_message_list_struct_s_1 * m_psi_message_list_struct_s_1;
+   U8 additional_msg_type;
+}psi_message_list_struct;
+
+/* SEQUENCE unknown psi message list struct */
+typedef struct unknown_psi_message_list_struct{
+   U16 numElements_message_type;
+   U8 * message_type;
+   U8 additional_msg_type;
+}unknown_psi_message_list_struct;
+
+typedef enum {
+   SI_MESSAGE_LIST_STRUCT_S_2_NULL,
+   SI_MESSAGE_LIST_STRUCT_SI_MESSAGE_LIST_STRUCT_S_2_NULL,
+   SI_MESSAGE_LIST_STRUCT_S_3,
+   SIX_CHANGE_MARK
+}si_message_list_struct_s_2_enum;
+
+typedef struct si_message_list_struct_s_3{
+   U8 six_change_mark;
+   U8 six_count;
+   U16 numElements_instance_bitmap;
+   U8 * instance_bitmap;
+}si_message_list_struct_s_3;
+
+typedef struct si_message_list_struct_s_1{
+   U8 si_message_type;
+   si_message_list_struct_s_2_enum si_message_list_struct_s_2_tag;
+   U8 mess_rec;
+   union si_message_list_struct_s_2_value{
+      si_message_list_struct_s_3 m_si_message_list_struct_s_3;
+      U8 six_change_mark;
+   }si_message_list_struct_s_2_value;
+}si_message_list_struct_s_1;
+
+/* SEQUENCE si message list struct */
+typedef struct si_message_list_struct{
+   U16 numElements_m_si_message_list_struct_s_1;
+   si_message_list_struct_s_1 * m_si_message_list_struct_s_1;
+   U8 additional_msg_type;
+}si_message_list_struct;
+
+/* SEQUENCE unknown si message list struct */
+typedef struct unknown_si_message_list_struct{
+   U16 numElements_si_message_type;
+   U8 * si_message_type;
+   U8 additional_msg_type;
+}unknown_si_message_list_struct;
+
+/* SEQUENCE additional access technologies struct */
+typedef struct additional_access_technologies_struct{
+   U8 access_technology_type;
+   U8 gmsk_power_class;
+   U8 p_8_psk_power_class;
+}additional_access_technologies_struct;
+
+typedef struct multislot_capability_struct_s_4{
+   U8 gprs_multislot_class;
+   U8 gprs_extended_dynamic_allocation_capability;
+}multislot_capability_struct_s_4;
+
+typedef struct multislot_capability_struct_s_6{
+   U8 sms_value;
+   U8 sm_value;
+}multislot_capability_struct_s_6;
+
+typedef struct multislot_capability_struct_s_10{
+   U8 egprs_multislot_class;
+   U8 egprs_extended_dynamic_allocation_capability;
+}multislot_capability_struct_s_10;
+
+typedef struct multislot_capability_struct_s_12{
+   U8 dtm_gprs_multi_slot_class;
+   U8 single_slot_dtm;
+   ispresent multislot_capability_struct_s_13_tag;
+   union multislot_capability_struct_s_13_value{
+      U8 dtm_egprs_multi_slot_class;
+   }multislot_capability_struct_s_13_value;
+}multislot_capability_struct_s_12;
+
+/* SEQUENCE multislot capability struct */
+typedef struct multislot_capability_struct{
+   Bool is_multislot_capability_struct_s_1_present; //truncation or optional 
+   ispresent multislot_capability_struct_s_2_tag;
+   union multislot_capability_struct_s_2_value{
+      U8 hscsd_multislot_class;
+   }multislot_capability_struct_s_2_value;
+   ispresent multislot_capability_struct_s_3_tag;
+   union multislot_capability_struct_s_3_value{
+      multislot_capability_struct_s_4 m_multislot_capability_struct_s_4;
+   }multislot_capability_struct_s_3_value;
+   ispresent multislot_capability_struct_s_5_tag;
+   union multislot_capability_struct_s_5_value{
+      multislot_capability_struct_s_6 m_multislot_capability_struct_s_6;
+   }multislot_capability_struct_s_5_value;
+   Bool is_multislot_capability_struct_s_7_present; //truncation or optional 
+   ispresent multislot_capability_struct_s_8_tag;
+   union multislot_capability_struct_s_8_value{
+      U8 ecsd_multislot_class;
+   }multislot_capability_struct_s_8_value;
+   ispresent multislot_capability_struct_s_9_tag;
+   union multislot_capability_struct_s_9_value{
+      multislot_capability_struct_s_10 m_multislot_capability_struct_s_10;
+   }multislot_capability_struct_s_9_value;
+   ispresent multislot_capability_struct_s_11_tag;
+   union multislot_capability_struct_s_11_value{
+      multislot_capability_struct_s_12 m_multislot_capability_struct_s_12;
+   }multislot_capability_struct_s_11_value;
+}multislot_capability_struct;
+
+/* SEQUENCE geran iu mode capabilities */
+typedef struct geran_iu_mode_capabilities{
+   U8 length;
+   U8 flo_iu_capability;
+}geran_iu_mode_capabilities;
+
+/* SEQUENCE a5 bits */
+typedef struct a5_bits{
+   U8 a5_1;
+   U8 a5_2;
+   U8 a5_3;
+   U8 a5_4;
+   U8 a5_5;
+   U8 a5_6;
+   U8 a5_7;
+}a5_bits;
+
+typedef  U8 gea1_bits;
+
+/* SEQUENCE extended gea bits */
+typedef struct extended_gea_bits{
+   U8 gea_2;
+   U8 gea_3;
+   U8 gea_4;
+   U8 gea_5;
+   U8 gea_6;
+   U8 gea_7;
+}extended_gea_bits;
+
+/* SEQUENCE data_blk_hdr_struct1 */
+typedef struct data_blk_hdr_struct1{
+   U8 rrbp;
+   U8 s_or_p;
+   U8 usf;
+}data_blk_hdr_struct1;
+
+/* SEQUENCE third_octet_struct1 */
+typedef struct third_octet_struct1{
+   U8 pr;
+   U8 tfi;
+   U8 dir;
+}third_octet_struct1;
+
+/* SEQUENCE utran fdd description struct mi */
+typedef struct utran_fdd_description_struct_mi{
+   ispresent utran_fdd_description_struct_mi_s_1_tag;
+   union utran_fdd_description_struct_mi_s_1_value{
+      U8 bandwidth_fdd;
+   }utran_fdd_description_struct_mi_s_1_value;
+   U16 numElements_repeated_utran_fdd_neighbour_cells;
+   repeated_utran_fdd_neighbour_cells_struct_mi * repeated_utran_fdd_neighbour_cells;
+}utran_fdd_description_struct_mi;
+
+/* SEQUENCE utran tdd description struct mi */
+typedef struct utran_tdd_description_struct_mi{
+   ispresent utran_tdd_description_struct_mi_s_1_tag;
+   union utran_tdd_description_struct_mi_s_1_value{
+      U8 bandwidth_tdd;
+   }utran_tdd_description_struct_mi_s_1_value;
+   U16 numElements_repeated_utran_tdd_neighbour_cells;
+   repeated_utran_tdd_neighbour_cells_struct_mi * repeated_utran_tdd_neighbour_cells;
+}utran_tdd_description_struct_mi;
+
+typedef struct real_time_difference_description_struct_mi_s_2{
+   ispresent real_time_difference_description_struct_mi_s_3_tag;
+   union real_time_difference_description_struct_mi_s_3_value{
+      U8 ba_index_start_rtd;
+   }real_time_difference_description_struct_mi_s_3_value;
+   rtd6_struct_mi rtd_struct;
+   U16 numElements_rtd2_struct;
+   rtd6_struct_mi * rtd2_struct;
+}real_time_difference_description_struct_mi_s_2;
+
+typedef struct real_time_difference_description_struct_mi_s_6{
+   ispresent real_time_difference_description_struct_mi_s_7_tag;
+   union real_time_difference_description_struct_mi_s_7_value{
+      U8 ba_index_start_rtd;
+   }real_time_difference_description_struct_mi_s_7_value;
+   rtd12_struct_mi rtd_struct;
+   U16 numElements_rtd2_struct;
+   rtd12_struct_mi * rtd2_struct;
+}real_time_difference_description_struct_mi_s_6;
+
+/* SEQUENCE real time difference description struct mi */
+typedef struct real_time_difference_description_struct_mi{
+   ispresent real_time_difference_description_struct_mi_s_1_tag;
+   union real_time_difference_description_struct_mi_s_1_value{
+      real_time_difference_description_struct_mi_s_2 m_real_time_difference_description_struct_mi_s_2;
+   }real_time_difference_description_struct_mi_s_1_value;
+   ispresent real_time_difference_description_struct_mi_s_5_tag;
+   union real_time_difference_description_struct_mi_s_5_value{
+      real_time_difference_description_struct_mi_s_6 m_real_time_difference_description_struct_mi_s_6;
+   }real_time_difference_description_struct_mi_s_5_value;
+}real_time_difference_description_struct_mi;
+
+/* SEQUENCE 3 g measurement control parameters description struct */
+typedef struct p_3_g_measurement_control_parameters_description_struct{
+   U8 utran_start;
+   U8 utran_stop;
+   ispresent p_3_g_measurement_control_parameters_description_struct_s_1_tag;
+   union p_3_g_measurement_control_parameters_description_struct_s_1_value{
+      U8 default_measurement_control_utran;
+   }p_3_g_measurement_control_parameters_description_struct_s_1_value;
+   U16 numElements_repeated_utran_measurement_control_parameters;
+   repeated_utran_measurement_control_parameters_struct * repeated_utran_measurement_control_parameters;
+}p_3_g_measurement_control_parameters_description_struct;
+
+typedef struct measurement_control_e_utran{
+   U8 measurement_control_e_utran_bit;
+   ispresent repeated_e_utran_neighbour_cells_struct_s_1_tag;
+   union repeated_e_utran_neighbour_cells_struct_s_1_value{
+      U8 measurement_bandwidth;
+   }repeated_e_utran_neighbour_cells_struct_s_1_value;
+}measurement_control_e_utran;
+
+/* SEQUENCE repeated e-utran neighbour cells struct */
+typedef struct repeated_e_utran_neighbour_cells_struct{
+   U16 earfcn;
+   U16 numElements_m_measurement_control_e_utran;
+   measurement_control_e_utran * m_measurement_control_e_utran;
+   ispresent repeated_e_utran_neighbour_cells_struct_s_2_tag;
+   union repeated_e_utran_neighbour_cells_struct_s_2_value{
+      not_allowed_cells_struct not_allowed_cells;
+   }repeated_e_utran_neighbour_cells_struct_s_2_value;
+}repeated_e_utran_neighbour_cells_struct;
+
+typedef struct enhanced_measurement_report_struct_s_4{
+   ispresent enhanced_measurement_report_struct_s_4_tag;
+   union enhanced_measurement_report_struct_s_4_value{
+      U8 reporting_quantity;
+   }enhanced_measurement_report_struct_s_4_value;
+}enhanced_measurement_report_struct_s_4;
+
+typedef struct _enhanced_measurement_report_struct_s_4{
+   U16 numElements_m_enhanced_measurement_report_struct_s_4;
+   enhanced_measurement_report_struct_s_4 * m_enhanced_measurement_report_struct_s_4;
+}_enhanced_measurement_report_struct_s_4;
+
+typedef enum {
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_5_NULL,
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_5_BIT, // L
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_6 // H
+}enhanced_measurement_report_struct_s_5_enum;
+
+typedef struct enhanced_measurement_report_struct_s_5_bit{
+   U16 numElements_enhanced_measurement_report_struct_s_5_bit;
+   U8 * enhanced_measurement_report_struct_s_5_bit;
+}enhanced_measurement_report_struct_s_5_bit;
+
+typedef struct enhanced_measurement_report_struct_s_7{
+   ispresent enhanced_measurement_report_struct_s_7_tag;
+   union enhanced_measurement_report_struct_s_7_value{
+      U8 reporting_quantity;
+   }enhanced_measurement_report_struct_s_7_value;
+}enhanced_measurement_report_struct_s_7;
+
+typedef enum {
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_9_NULL,
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_9_BIT, // L
+   ENHANCED_MEASUREMENT_REPORT_STRUCT_S_10 // H
+}enhanced_measurement_report_struct_s_9_enum;
+
+typedef struct enhanced_measurement_report_struct_s_9_bit{
+   U16 numElements_enhanced_measurement_report_struct_s_9_bit;
+   U8 * enhanced_measurement_report_struct_s_9_bit;
+}enhanced_measurement_report_struct_s_9_bit;
+
+typedef struct enhanced_measurement_report_struct_s_10{
+   ispresent enhanced_measurement_report_struct_s_10_tag;
+   union enhanced_measurement_report_struct_s_10_value{
+      utran_csg_measurement_report_ie utran_csg_measurement_report;
+   }enhanced_measurement_report_struct_s_10_value;
+}enhanced_measurement_report_struct_s_10;
+
+typedef struct enhanced_measurement_report_struct_s_6{
+   U8 bitmap_length;
+   U16 numElements_m_enhanced_measurement_report_struct_s_7;
+   enhanced_measurement_report_struct_s_7 * m_enhanced_measurement_report_struct_s_7;
+   ispresent enhanced_measurement_report_struct_s_8_tag;
+   union enhanced_measurement_report_struct_s_8_value{
+      e_utran_measurement_report_struct e_utran_measurement_report;
+   }enhanced_measurement_report_struct_s_8_value;
+   enhanced_measurement_report_struct_s_9_enum enhanced_measurement_report_struct_s_9_tag;
+   union enhanced_measurement_report_struct_s_9_value{
+      enhanced_measurement_report_struct_s_9_bit m_enhanced_measurement_report_struct_s_9_bit;
+      enhanced_measurement_report_struct_s_10 m_enhanced_measurement_report_struct_s_10;
+   }enhanced_measurement_report_struct_s_9_value;
+}enhanced_measurement_report_struct_s_6;
+
+/* SEQUENCE enhanced measurement report struct */
+typedef struct enhanced_measurement_report_struct{
+   U8 rr_short_pd;
+   U8 message_type;
+   U8 short_layer_2_header;
+   U8 ba_used;
+   U8 p_3_g_ba_used;
+   U8 bsic_seen;
+   U8 scale;
+   ispresent enhanced_measurement_report_struct_s_1_tag;
+   union enhanced_measurement_report_struct_s_1_value{
+      cs_serving_cell_data_struct serving_cell_data;
+   }enhanced_measurement_report_struct_s_1_value;
+   U16 numElements_repeated_invalid_bsic_information;
+   repeated_invalid_bsic_information_struct * repeated_invalid_bsic_information;
+   ispresent enhanced_measurement_report_struct_s_3_tag;
+   union enhanced_measurement_report_struct_s_3_value{
+      _enhanced_measurement_report_struct_s_4 m_enhanced_measurement_report_struct_s_4;
+   }enhanced_measurement_report_struct_s_3_value;
+   enhanced_measurement_report_struct_s_5_enum enhanced_measurement_report_struct_s_5_tag;
+   union enhanced_measurement_report_struct_s_5_value{
+      enhanced_measurement_report_struct_s_5_bit m_enhanced_measurement_report_struct_s_5_bit;
+      enhanced_measurement_report_struct_s_6 m_enhanced_measurement_report_struct_s_6;
+   }enhanced_measurement_report_struct_s_5_value;
+}enhanced_measurement_report_struct;
+
+/* SEQUENCE extended_measurement_report_struct */
+typedef struct extended_measurement_report_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   extended_measurement_report_type_struct mesg_type;
+   gas_extended_meas_results_struct extended_measurement_results;
+}extended_measurement_report_struct;
+
+typedef enum {
+   NO_NCELL_M,
+   GAS_MEAS_CONTENT_STRUCT_S_2
+}gas_meas_content_struct_s_1_enum;
+
+typedef enum {
+   GAS_MEAS_CONTENT_STRUCT_S_4_NULL,
+   GAS_MEAS_CONTENT_STRUCT_CONCAT_0,
+   UTRAN_CSG_MEASUREMENT_REPORT
+}gas_meas_content_struct_s_4_enum;
+
+typedef struct gas_meas_content_struct_s_2{
+   U16 numElements_ncell_report;
+   ncell_report_struct * ncell_report;
+   gas_meas_content_struct_s_4_enum gas_meas_content_struct_s_4_tag;
+   union gas_meas_content_struct_s_4_value{
+      utran_csg_measurement_report_ie utran_csg_measurement_report;
+   }gas_meas_content_struct_s_4_value;
+}gas_meas_content_struct_s_2;
+
+/* SEQUENCE gas_meas_content_struct */
+typedef struct gas_meas_content_struct{
+   U8 ba_used;
+   U8 dtx_used;
+   U8 rxlev_full_serving_cell;
+   U8 p_3_g_ba_used;
+   U8 meas_valid;
+   U8 rxlev_sub_serving_cell;
+   U8 rxqual_full_serving_cell;
+   U8 rxqual_sub_serving_cell;
+   gas_meas_content_struct_s_1_enum gas_meas_content_struct_s_1_tag;
+   U8 no_ncell_m;
+   union gas_meas_content_struct_s_1_value{
+      gas_meas_content_struct_s_2 m_gas_meas_content_struct_s_2;
+   }gas_meas_content_struct_s_1_value;
+}gas_meas_content_struct;
+
+/* SEQUENCE gprs_suspension_request struct */
+typedef struct gprs_suspension_request_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   gprs_suspension_req_type_struct mesg_type;
+   gas_tlli_struct tlli;
+   gas_rai_struct rai;
+   gas_suspension_cause_struct suspension_cause;
+}gprs_suspension_request_struct;
+
+/* SEQUENCE handover_failure struct */
+typedef struct handover_failure_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   handover_failure_type_struct mesg_type;
+   gas_rr_cause_struct rr_cause;
+}handover_failure_struct;
+
+/* SEQUENCE gas_otd_struct */
+typedef struct gas_otd_struct{
+   U8 otd_iei;
+   U8 length;
+   gas_mobile_time_difference_struct m_gas_mobile_time_difference_struct;
+}gas_otd_struct;
+
+/* SEQUENCE assignment_failure_struct */
+typedef struct assignment_failure_struct{
+    U8 skip_ind;
+    U8 proto_disc;
+    U8 mesg_type;
+    U8 rr_cause;
+}assignment_failure_struct;
+
+/* SEQUENCE assignment_complete_struct */
+typedef struct assignment_complete_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   assignment_complete_type_struct mesg_type;
+   gas_rr_cause_struct rr_cause;
+}assignment_complete_struct;
+
+/* SEQUENCE gas_mobile_identity_struct */
+typedef struct gas_mobile_identity_struct{
+   U8 length;
+   gas_mobile_identity_struct_2 m_gas_mobile_identity_struct_2;
+}gas_mobile_identity_struct;
+
+/* SEQUENCE gas_mobile_identity2_struct */
+typedef struct gas_mobile_identity2_struct{
+   U8 mobile_identity_iei;
+   U8 length;
+   gas_mobile_identity_struct_2 m_gas_mobile_identity_struct_2;
+}gas_mobile_identity2_struct;
+
+/* SEQUENCE gas_p1_rest_octets_struct */
+typedef struct gas_p1_rest_octets_struct{
+   isLHpresent nln_tag;
+   union nln_value{
+      gas_nln_status_struct nln;
+   }nln_value;
+   isLHpresent priority1_tag;
+   union priority1_value{
+      U8 priority1;
+   }priority1_value;
+   isLHpresent priority2_tag;
+   union priority2_value{
+      U8 priority2;
+   }priority2_value;
+   isLHpresent vgcs_tag;
+   union vgcs_value{
+      U8 vgcs;
+   }vgcs_value;
+   isLHpresent pkt_page1_tag;
+   isLHpresent pkt_page2_tag;
+}gas_p1_rest_octets_struct;
+
+typedef enum {
+   M_ABSOLUTE_FRAME_NUMBER_ENCODING,
+   M_RELATIVE_FRAME_NUMBER_ENCODING
+}starting_frame_number_description_ie_s_0_enum;
+
+/* SEQUENCE starting frame number description ie */
+typedef struct starting_frame_number_description_ie{
+   starting_frame_number_description_ie_s_0_enum starting_frame_number_description_ie_s_0_tag;
+   union starting_frame_number_description_ie_s_0_value{
+      absolute_frame_number_encoding m_absolute_frame_number_encoding;
+      relative_frame_number_encoding m_relative_frame_number_encoding;
+   }starting_frame_number_description_ie_s_0_value;
+}starting_frame_number_description_ie;
+
+/* SEQUENCE direct encoding 1 struct */
+typedef struct direct_encoding_1_struct{
+   U8 maio;
+   gprs_mobile_allocation_ie gprs_mobile_allocation;
+}direct_encoding_1_struct;
+
+/* SEQUENCE lsa parameters ie */
+typedef struct lsa_parameters_ie{
+   U8 nr_of_freq_or_cells;
+   U16 numElements_lsa_id_information;
+   lsa_id_information_struct * lsa_id_information;
+}lsa_parameters_ie;
+
+/* SEQUENCE utran fdd description struct */
+typedef struct utran_fdd_description_struct{
+   ispresent utran_fdd_description_struct_s_1_tag;
+   union utran_fdd_description_struct_s_1_value{
+      U8 bandwidth_fdd;
+   }utran_fdd_description_struct_s_1_value;
+   U16 numElements_repeated_utran_fdd_neighbour_cells;
+   repeated_utran_fdd_neighbour_cells_struct * repeated_utran_fdd_neighbour_cells;
+}utran_fdd_description_struct;
+
+/* SEQUENCE utran tdd description struct */
+typedef struct utran_tdd_description_struct{
+   ispresent utran_tdd_description_struct_s_1_tag;
+   union utran_tdd_description_struct_s_1_value{
+      U8 bandwidth_tdd;
+   }utran_tdd_description_struct_s_1_value;
+   U16 numElements_repeated_utran_tdd_neighbour_cells;
+   repeated_utran_tdd_neighbour_cells_struct * repeated_utran_tdd_neighbour_cells;
+}utran_tdd_description_struct;
+
+/* SEQUENCE iu mode cell selection struct 1 */
+typedef struct iu_mode_cell_selection_struct_1{
+   U8 cell_bar_qualify_3;
+   ispresent iu_mode_cell_selection_struct_1_s_1_tag;
+   union iu_mode_cell_selection_struct_1_s_1_value{
+      si13_pbcch_location_struct_1 si13alt_pbcch_location;
+   }iu_mode_cell_selection_struct_1_s_1_value;
+}iu_mode_cell_selection_struct_1;
+
+typedef struct iu_mode_only_cell_selection_struct_1_s_2{
+   U8 gprs_rxlev_access_min;
+   U8 gprs_ms_txpwr_max_cch;
+}iu_mode_only_cell_selection_struct_1_s_2;
+
+typedef struct iu_mode_only_cell_selection_struct_1_s_4{
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+}iu_mode_only_cell_selection_struct_1_s_4;
+
+/* SEQUENCE iu mode only cell selection struct 1 */
+typedef struct iu_mode_only_cell_selection_struct_1{
+   U8 cell_bar_qualify_3;
+   U8 same_ra_as_serving_cell;
+   ispresent iu_mode_only_cell_selection_struct_1_s_1_tag;
+   union iu_mode_only_cell_selection_struct_1_s_1_value{
+      iu_mode_only_cell_selection_struct_1_s_2 m_iu_mode_only_cell_selection_struct_1_s_2;
+   }iu_mode_only_cell_selection_struct_1_s_1_value;
+   ispresent iu_mode_only_cell_selection_struct_1_s_3_tag;
+   union iu_mode_only_cell_selection_struct_1_s_3_value{
+      iu_mode_only_cell_selection_struct_1_s_4 m_iu_mode_only_cell_selection_struct_1_s_4;
+   }iu_mode_only_cell_selection_struct_1_s_3_value;
+   ispresent iu_mode_only_cell_selection_struct_1_s_5_tag;
+   union iu_mode_only_cell_selection_struct_1_s_5_value{
+      U8 gprs_reselect_offset;
+   }iu_mode_only_cell_selection_struct_1_s_5_value;
+   ispresent iu_mode_only_cell_selection_struct_1_s_6_tag;
+   union iu_mode_only_cell_selection_struct_1_s_6_value{
+      hcs_struct_1 hcs_params;
+   }iu_mode_only_cell_selection_struct_1_s_6_value;
+   ispresent iu_mode_only_cell_selection_struct_1_s_7_tag;
+   union iu_mode_only_cell_selection_struct_1_s_7_value{
+      si13_pbcch_location_struct_1 si13alt_pbcch_location;
+   }iu_mode_only_cell_selection_struct_1_s_7_value;
+}iu_mode_only_cell_selection_struct_1;
+
+/* SEQUENCE prach control parameters ie */
+typedef struct prach_control_parameters_ie{
+   U16 acc_contr_class;
+   U8 max_retrans[4];
+   U8 s;
+   U8 tx_int;
+   ispresent prach_control_parameters_ie_s_1_tag;
+   union prach_control_parameters_ie_s_1_value{
+      persistence_level_ie persistence_level;
+   }prach_control_parameters_ie_s_1_value;
+}prach_control_parameters_ie;
+
+typedef struct gprs_cell_options_ie_s_2{
+   U8 pan_dec;
+   U8 pan_inc;
+   U8 pan_max;
+}gprs_cell_options_ie_s_2;
+
+typedef struct gprs_cell_options_ie_s_4{
+   U8 extension_length;
+   extension_information_for_gprs m_extension_information_for_gprs;
+}gprs_cell_options_ie_s_4;
+
+/* SEQUENCE gprs cell options ie */
+typedef struct gprs_cell_options_ie{
+   U8 nmo;
+   U8 t3168;
+   U8 t3192;
+   U8 drx_timer_max;
+   U8 access_burst_type;
+   U8 control_ack_type;
+   U8 bs_cv_max;
+   ispresent gprs_cell_options_ie_s_1_tag;
+   union gprs_cell_options_ie_s_1_value{
+      gprs_cell_options_ie_s_2 m_gprs_cell_options_ie_s_2;
+   }gprs_cell_options_ie_s_1_value;
+   ispresent gprs_cell_options_ie_s_3_tag;
+   union gprs_cell_options_ie_s_3_value{
+      gprs_cell_options_ie_s_4 m_gprs_cell_options_ie_s_4;
+   }gprs_cell_options_ie_s_3_value;
+}gprs_cell_options_ie;
+
+typedef struct non_gprs_cell_options_ie_s_3{
+   U8 extension_length;
+   extension_information_for_non_gprs m_extension_information_for_non_gprs;
+}non_gprs_cell_options_ie_s_3;
+
+/* SEQUENCE non gprs cell options ie */
+typedef struct non_gprs_cell_options_ie{
+   U8 att;
+   ispresent non_gprs_cell_options_ie_s_1_tag;
+   union non_gprs_cell_options_ie_s_1_value{
+      U8 t3212;
+   }non_gprs_cell_options_ie_s_1_value;
+   U8 neci;
+   U8 pwrc;
+   U8 dtx;
+   U8 radio_link_timeout;
+   U8 bs_ag_blks_res;
+   U8 ccch_conf;
+   U8 bs_pa_mfrms;
+   U8 max_retrans;
+   U8 tx_integer;
+   U8 ec;
+   U8 ms_txpwr_max_ccch;
+   ispresent non_gprs_cell_options_ie_s_2_tag;
+   union non_gprs_cell_options_ie_s_2_value{
+      non_gprs_cell_options_ie_s_3 m_non_gprs_cell_options_ie_s_3;
+   }non_gprs_cell_options_ie_s_2_value;
+}non_gprs_cell_options_ie;
+
+typedef struct cell_selection_struct_1_s_2{
+   U8 gprs_rxlev_access_min;
+   U8 gprs_ms_txpwr_max_cch;
+}cell_selection_struct_1_s_2;
+
+typedef struct cell_selection_struct_1_s_4{
+   U8 gprs_temporary_offset;
+   U8 gprs_penalty_time;
+}cell_selection_struct_1_s_4;
+
+/* SEQUENCE cell selection struct 1 */
+typedef struct cell_selection_struct_1{
+   U8 cell_bar_access_2;
+   U8 exc_acc;
+   U8 same_ra_as_serving_cell;
+   ispresent cell_selection_struct_1_s_1_tag;
+   union cell_selection_struct_1_s_1_value{
+      cell_selection_struct_1_s_2 m_cell_selection_struct_1_s_2;
+   }cell_selection_struct_1_s_1_value;
+   ispresent cell_selection_struct_1_s_3_tag;
+   union cell_selection_struct_1_s_3_value{
+      cell_selection_struct_1_s_4 m_cell_selection_struct_1_s_4;
+   }cell_selection_struct_1_s_3_value;
+   ispresent cell_selection_struct_1_s_5_tag;
+   union cell_selection_struct_1_s_5_value{
+      U8 gprs_reselect_offset;
+   }cell_selection_struct_1_s_5_value;
+   ispresent cell_selection_struct_1_s_6_tag;
+   union cell_selection_struct_1_s_6_value{
+      hcs_struct_1 hcs_params;
+   }cell_selection_struct_1_s_6_value;
+   ispresent cell_selection_struct_1_s_7_tag;
+   union cell_selection_struct_1_s_7_value{
+      si13_pbcch_location_struct_1 si13_pbcch_location;
+   }cell_selection_struct_1_s_7_value;
+}cell_selection_struct_1;
+
+typedef struct neighbour_cell_params_struct_s_1{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   cell_selection_struct_1 cell_selection_params;
+}neighbour_cell_params_struct_s_1;
+
+/* SEQUENCE neighbour cell params struct */
+typedef struct neighbour_cell_params_struct{
+   U16 start_frequency;
+   cell_selection_struct_2 cell_selection_params;
+   U8 nr_of_remaining_cells;
+   U8 freq_diff_length;
+   U16 numElements_m_neighbour_cell_params_struct_s_1;
+   neighbour_cell_params_struct_s_1 * m_neighbour_cell_params_struct_s_1;
+}neighbour_cell_params_struct;
+
+typedef struct iu_mode_only_neighbour_cell_params_struct_s_1{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   iu_mode_only_cell_selection_struct_1 iu_mode_only_cell_selection_params;
+}iu_mode_only_neighbour_cell_params_struct_s_1;
+
+/* SEQUENCE iu mode only neighbour cell params struct */
+typedef struct iu_mode_only_neighbour_cell_params_struct{
+   U16 start_frequency;
+   iu_mode_only_cell_selection_struct_1 iu_mode_only_cell_selection_params;
+   U8 nr_of_remaining_cells;
+   U8 freq_diff_length;
+   U16 numElements_m_iu_mode_only_neighbour_cell_params_struct_s_1;
+   iu_mode_only_neighbour_cell_params_struct_s_1 * m_iu_mode_only_neighbour_cell_params_struct_s_1;
+}iu_mode_only_neighbour_cell_params_struct;
+
+typedef enum {
+   TS_OVERRIDE,
+   FIXED_ALLOCATION_STRUCT_S_2
+}fixed_allocation_struct_s_1_enum;
+
+typedef enum {
+   FIXED_ALLOCATION_STRUCT_S_7,
+   ALLOCATION_BITMAP
+}fixed_allocation_struct_s_6_enum;
+
+typedef struct fixed_allocation_struct_s_7{
+   U8 blocks_or_block_periods;
+   U8 allocation_bitmap_length;
+   U16 numElements_allocation_bitmap;
+   U8 * allocation_bitmap;
+}fixed_allocation_struct_s_7;
+
+typedef struct allocation_bitmap{
+   U16 numElements_allocation_bitmap;
+   U8 * allocation_bitmap;
+}allocation_bitmap;
+
+typedef struct fixed_allocation_struct_s_2{
+   starting_frame_number_description_ie tbf_starting_time;
+   ispresent fixed_allocation_struct_s_3_tag;
+   union fixed_allocation_struct_s_3_value{
+      U8 timeslot_allocation;
+   }fixed_allocation_struct_s_3_value;
+   fixed_allocation_struct_s_6_enum fixed_allocation_struct_s_6_tag;
+   union fixed_allocation_struct_s_6_value{
+      fixed_allocation_struct_s_7 m_fixed_allocation_struct_s_7;
+      allocation_bitmap m_allocation_bitmap;
+   }fixed_allocation_struct_s_6_value;
+}fixed_allocation_struct_s_2;
+
+/* SEQUENCE fixed allocation struct */
+typedef struct fixed_allocation_struct{
+   U8 final_allocation;
+   fixed_allocation_struct_s_1_enum fixed_allocation_struct_s_1_tag;
+   union fixed_allocation_struct_s_1_value{
+      U8 ts_override;
+      fixed_allocation_struct_s_2 m_fixed_allocation_struct_s_2;
+   }fixed_allocation_struct_s_1_value;
+}fixed_allocation_struct;
+
+/* SEQUENCE measurement mapping struct */
+typedef struct measurement_mapping_struct{
+   starting_frame_number_description_ie measurement_starting_time;
+   U8 measurement_interval;
+   U8 measurement_bitmap;
+}measurement_mapping_struct;
+
+typedef enum {
+   M_EGPRS_ACK_NACK_DESCRIPTION_STRUCT,
+   EGPRS_ACK_NACK_DESCRIPTION_IE_S_1
+}egprs_ack_nack_description_ie_s_0_enum;
+
+typedef struct egprs_ack_nack_description_ie_s_1{
+   U8 length;
+   egprs_ack_nack_description_struct m_egprs_ack_nack_description_struct;
+}egprs_ack_nack_description_ie_s_1;
+
+/* SEQUENCE egprs ack/nack description ie */
+typedef struct egprs_ack_nack_description_ie{
+   egprs_ack_nack_description_ie_s_0_enum egprs_ack_nack_description_ie_s_0_tag;
+   union egprs_ack_nack_description_ie_s_0_value{
+      egprs_ack_nack_description_struct m_egprs_ack_nack_description_struct;
+      egprs_ack_nack_description_ie_s_1 m_egprs_ack_nack_description_ie_s_1;
+   }egprs_ack_nack_description_ie_s_0_value;
+}egprs_ack_nack_description_ie;
+
+typedef struct ccch_access_information_struct_s_2{
+   U8 si13_change_mark;
+   gprs_mobile_allocation_ie si13_mobile_allocation;
+}ccch_access_information_struct_s_2;
+
+typedef enum {
+   CCCH_ACCESS_INFORMATION_STRUCT_S_3_NULL,
+   CCCH_ACCESS_INFORMATION_STRUCT_S_3_BIT,
+   CCCH_ACCESS_INFORMATION_STRUCT_S_4
+}ccch_access_information_struct_s_3_enum;
+
+typedef struct ccch_access_information_struct_s_3_bit{
+   U16 numElements_ccch_access_information_struct_s_3_bit;
+   U8 * ccch_access_information_struct_s_3_bit;
+}ccch_access_information_struct_s_3_bit;
+
+typedef enum {
+   CCCH_ACCESS_INFORMATION_STRUCT_S_5_NULL,
+   CCCH_ACCESS_INFORMATION_STRUCT_S_5_BIT,
+   CCCH_ACCESS_INFORMATION_STRUCT_S_6
+}ccch_access_information_struct_s_5_enum;
+
+typedef struct ccch_access_information_struct_s_5_bit{
+   U16 numElements_ccch_access_information_struct_s_5_bit;
+   U8 * ccch_access_information_struct_s_5_bit;
+}ccch_access_information_struct_s_5_bit;
+
+typedef struct ccch_access_information_struct_s_6{
+   ispresent ccch_access_information_struct_s_7_tag;
+   union ccch_access_information_struct_s_7_value{
+      U8 lb_ms_txpwr_max_cch;
+   }ccch_access_information_struct_s_7_value;
+   U8 si2n_support;
+}ccch_access_information_struct_s_6;
+
+typedef struct ccch_access_information_struct_s_4{
+   U8 rac;
+   U8 si_status_ind;
+   ccch_access_information_struct_s_5_enum ccch_access_information_struct_s_5_tag;
+   union ccch_access_information_struct_s_5_value{
+      ccch_access_information_struct_s_5_bit m_ccch_access_information_struct_s_5_bit;
+      ccch_access_information_struct_s_6 m_ccch_access_information_struct_s_6;
+   }ccch_access_information_struct_s_5_value;
+}ccch_access_information_struct_s_4;
+
+/* SEQUENCE ccch access information struct */
+typedef struct ccch_access_information_struct{
+   U8 bcch_change_mark;
+   ispresent ccch_access_information_struct_s_1_tag;
+   union ccch_access_information_struct_s_1_value{
+      ccch_access_information_struct_s_2 m_ccch_access_information_struct_s_2;
+   }ccch_access_information_struct_s_1_value;
+   U8 spgc_ccch_sup;
+   U8 priority_access_thr;
+   U8 network_control_order;
+   gprs_cell_options_ie gprs_cell_options;
+   gprs_power_control_parameters_struct gprs_power_control_parameters;
+   U8 sgsnr;
+   ccch_access_information_struct_s_3_enum ccch_access_information_struct_s_3_tag;
+   union ccch_access_information_struct_s_3_value{
+      ccch_access_information_struct_s_3_bit m_ccch_access_information_struct_s_3_bit;
+      ccch_access_information_struct_s_4 m_ccch_access_information_struct_s_4;
+   }ccch_access_information_struct_s_3_value;
+}ccch_access_information_struct;
+
+/* SEQUENCE dynamic arfcn mapping description struct */
+typedef struct dynamic_arfcn_mapping_description_struct{
+   ispresent dynamic_arfcn_mapping_description_struct_s_1_tag;
+   union dynamic_arfcn_mapping_description_struct_s_1_value{
+      U8 dm_change_mark;
+   }dynamic_arfcn_mapping_description_struct_s_1_value;
+   U16 numElements_m_dynamic_arfcn_mapping;
+   dynamic_arfcn_mapping * m_dynamic_arfcn_mapping;
+}dynamic_arfcn_mapping_description_struct;
+
+/* SEQUENCE enh reporting parameters struct */
+typedef struct enh_reporting_parameters_struct{
+   U8 report_type;
+   U8 reporting_rate;
+   U8 invalid_bsic_reporting;
+   ispresent enh_reporting_parameters_struct_s_1_tag;
+   union enh_reporting_parameters_struct_s_1_value{
+      U8 ncc_permitted;
+   }enh_reporting_parameters_struct_s_1_value;
+   ispresent enh_reporting_parameters_struct_s_2_tag;
+   union enh_reporting_parameters_struct_s_2_value{
+      gprs_measurement_parameters_description_struct gprs_measurement_parameters_description;
+   }enh_reporting_parameters_struct_s_2_value;
+   ispresent enh_reporting_parameters_struct_s_3_tag;
+   union enh_reporting_parameters_struct_s_3_value{
+      gprs_3_g_measurement_parameters_description_struct gprs_3_g_measurement_parameters_description;
+   }enh_reporting_parameters_struct_s_3_value;
+}enh_reporting_parameters_struct;
+
+/* SEQUENCE channel list struct */
+typedef struct channel_list_struct{
+   channel_group_struct channel_group;
+   U16 numElements_channel_group_cont;
+   channel_group_struct * channel_group_cont;
+}channel_list_struct;
+
+typedef struct real_time_difference_description_struct_s_2{
+   ispresent real_time_difference_description_struct_s_3_tag;
+   union real_time_difference_description_struct_s_3_value{
+      U8 cell_index_start_rtd;
+   }real_time_difference_description_struct_s_3_value;
+   rtd6_struct rtd_struct;
+   U16 numElements_rtd_struct_cont;
+   rtd6_struct * rtd_struct_cont;
+}real_time_difference_description_struct_s_2;
+
+typedef struct real_time_difference_description_struct_s_6{
+   ispresent real_time_difference_description_struct_s_7_tag;
+   union real_time_difference_description_struct_s_7_value{
+      U8 cell_index_start_rtd;
+   }real_time_difference_description_struct_s_7_value;
+   rtd12_struct rtd_struct;
+   U16 numElements_rtd_struct_cont;
+   rtd12_struct * rtd_struct_cont;
+}real_time_difference_description_struct_s_6;
+
+/* SEQUENCE real time difference description struct */
+typedef struct real_time_difference_description_struct{
+   ispresent real_time_difference_description_struct_s_1_tag;
+   union real_time_difference_description_struct_s_1_value{
+      real_time_difference_description_struct_s_2 m_real_time_difference_description_struct_s_2;
+   }real_time_difference_description_struct_s_1_value;
+   ispresent real_time_difference_description_struct_s_5_tag;
+   union real_time_difference_description_struct_s_5_value{
+      real_time_difference_description_struct_s_6 m_real_time_difference_description_struct_s_6;
+   }real_time_difference_description_struct_s_5_value;
+}real_time_difference_description_struct;
+
+typedef struct neighbour_cell_params_2_struct_s_2{
+   struct ncp2_repeat_struct * m_ncp2_repeat_struct;
+   U8 cell_params_pointer;
+}neighbour_cell_params_2_struct_s_2;
+
+/* SEQUENCE neighbour cell params 2 struct */
+typedef struct neighbour_cell_params_2_struct{
+   U16 numElements_m_neighbour_cell_params_2_struct_s_2;
+   neighbour_cell_params_2_struct_s_2 * m_neighbour_cell_params_2_struct_s_2;
+   U16 numElements_neighbour_parameter_set;
+   neighbour_parameter_set_struct * neighbour_parameter_set;
+}neighbour_cell_params_2_struct;
+
+typedef enum {
+   NCP2_REPEAT_STRUCT_S_3,
+   CONCAT_0000
+}ncp2_repeat_struct_s_2_enum;
+
+typedef struct ncp2_repeat_struct_s_4{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   ncp2_property_struct m_ncp2_property_struct;
+}ncp2_repeat_struct_s_4;
+
+typedef struct ncp2_repeat_struct_s_3{
+   U8 freq_diff_length;
+   U16 numElements_m_ncp2_repeat_struct_s_4;
+   ncp2_repeat_struct_s_4 * m_ncp2_repeat_struct_s_4;
+   struct ncp2_repeat_struct * m_ncp2_repeat_struct;
+}ncp2_repeat_struct_s_3;
+
+typedef struct ncp2_repeat_struct_s_1{
+   U16 start_frequency;
+   ncp2_property_struct m_ncp2_property_struct;
+   ncp2_repeat_struct_s_2_enum ncp2_repeat_struct_s_2_tag;
+   U8 nr_of_remaining_cells;
+   union ncp2_repeat_struct_s_2_value{
+      ncp2_repeat_struct_s_3 m_ncp2_repeat_struct_s_3;
+   }ncp2_repeat_struct_s_2_value;
+}ncp2_repeat_struct_s_1;
+
+/* SEQUENCE ncp2 repeat struct */
+typedef struct ncp2_repeat_struct{
+   ispresent ncp2_repeat_struct_s_0_tag;
+   union ncp2_repeat_struct_s_0_value{
+      ncp2_repeat_struct_s_1 m_ncp2_repeat_struct_s_1;
+   }ncp2_repeat_struct_s_0_value;
+}ncp2_repeat_struct;
+
+typedef struct compact_neighbour_cell_params_2_struct_s_2{
+   struct compact_ncp2_repeat_struct * m_compact_ncp2_repeat_struct;
+   U8 cell_params_pointer;
+}compact_neighbour_cell_params_2_struct_s_2;
+
+/* SEQUENCE compact neighbour cell params 2 struct */
+typedef struct compact_neighbour_cell_params_2_struct{
+   U16 numElements_m_compact_neighbour_cell_params_2_struct_s_2;
+   compact_neighbour_cell_params_2_struct_s_2 * m_compact_neighbour_cell_params_2_struct_s_2;
+   U16 numElements_compact_neighbour_parameter_set;
+   compact_neighbour_parameter_set_struct * compact_neighbour_parameter_set;
+}compact_neighbour_cell_params_2_struct;
+
+typedef enum {
+   COMPACT_NCP2_REPEAT_STRUCT_S_3,
+   COMPACT_NCP2_REPEAT_STRUCT_CONCAT_0000
+}compact_ncp2_repeat_struct_s_2_enum;
+
+typedef struct compact_ncp2_repeat_struct_s_4{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   compact_ncp2_property_struct m_compact_ncp2_property_struct;
+}compact_ncp2_repeat_struct_s_4;
+
+typedef struct compact_ncp2_repeat_struct_s_3{
+   U8 freq_diff_length;
+   U16 numElements_m_compact_ncp2_repeat_struct_s_4;
+   compact_ncp2_repeat_struct_s_4 * m_compact_ncp2_repeat_struct_s_4;
+   struct compact_ncp2_repeat_struct * m_compact_ncp2_repeat_struct;
+}compact_ncp2_repeat_struct_s_3;
+
+typedef struct compact_ncp2_repeat_struct_s_1{
+   U16 start_frequency;
+   compact_ncp2_property_struct m_compact_ncp2_property_struct;
+   compact_ncp2_repeat_struct_s_2_enum compact_ncp2_repeat_struct_s_2_tag;
+   U8 nr_of_remaining_cells;
+   union compact_ncp2_repeat_struct_s_2_value{
+      compact_ncp2_repeat_struct_s_3 m_compact_ncp2_repeat_struct_s_3;
+   }compact_ncp2_repeat_struct_s_2_value;
+}compact_ncp2_repeat_struct_s_1;
+
+/* SEQUENCE compact ncp2 repeat struct */
+typedef struct compact_ncp2_repeat_struct{
+   ispresent compact_ncp2_repeat_struct_s_0_tag;
+   union compact_ncp2_repeat_struct_s_0_value{
+      compact_ncp2_repeat_struct_s_1 m_compact_ncp2_repeat_struct_s_1;
+   }compact_ncp2_repeat_struct_s_0_value;
+}compact_ncp2_repeat_struct;
+
+typedef struct compact_neighbour_cell_params_struct_s_1{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   compact_cell_selection_struct_1 compact_cell_selection_params;
+}compact_neighbour_cell_params_struct_s_1;
+
+/* SEQUENCE compact neighbour cell params struct */
+typedef struct compact_neighbour_cell_params_struct{
+   U16 start_frequency;
+   compact_cell_selection_struct_1 compact_cell_selection_params;
+   U8 nr_of_remaining_cells;
+   U8 freq_diff_length;
+   U16 numElements_m_compact_neighbour_cell_params_struct_s_1;
+   compact_neighbour_cell_params_struct_s_1 * m_compact_neighbour_cell_params_struct_s_1;
+}compact_neighbour_cell_params_struct;
+
+/* SEQUENCE reference frequency lists struct */
+typedef struct reference_frequency_lists_struct{
+   U16 numElements_m_reference_frequency_struct;
+   reference_frequency_struct * m_reference_frequency_struct;
+}reference_frequency_lists_struct;
+
+/* SEQUENCE cell allocation lists struct */
+typedef struct cell_allocation_lists_struct{
+   U16 numElements_m_cell_allocation_struct_1;
+   cell_allocation_struct_1 * m_cell_allocation_struct_1;
+}cell_allocation_lists_struct;
+
+/* SEQUENCE gprs mobile allocations lists struct */
+typedef struct gprs_mobile_allocations_lists_struct{
+   U16 numElements_m_gprs_mobile_allocations_struct;
+   gprs_mobile_allocations_struct * m_gprs_mobile_allocations_struct;
+}gprs_mobile_allocations_lists_struct;
+
+/* SEQUENCE non-hopping pccch carriers lists struct */
+typedef struct non_hopping_pccch_carriers_lists_struct{
+   U16 numElements_m_non_hopping_pccch_carriers_struct;
+   non_hopping_pccch_carriers_struct * m_non_hopping_pccch_carriers_struct;
+}non_hopping_pccch_carriers_lists_struct;
+
+/* SEQUENCE hopping pccch carriers lists struct */
+typedef struct hopping_pccch_carriers_lists_struct{
+   U16 numElements_m_hopping_pccch_carriers_struct;
+   hopping_pccch_carriers_struct * m_hopping_pccch_carriers_struct;
+}hopping_pccch_carriers_lists_struct;
+
+/* SEQUENCE compact control info struct */
+typedef struct compact_control_info_struct{
+   U8 large_cell_operation;
+   ispresent compact_control_info_struct_s_1_tag;
+   union compact_control_info_struct_s_1_value{
+      number_of_idle_blocks_struct number_of_idle_blocks;
+   }compact_control_info_struct_s_1_value;
+   ispresent compact_control_info_struct_s_2_tag;
+   union compact_control_info_struct_s_2_value{
+      U8 n_ccch_nh;
+   }compact_control_info_struct_s_2_value;
+}compact_control_info_struct;
+
+typedef enum {
+   G_RNTI,
+   REPEATED_IU_PAGE_INFO_STRUCT_S_1
+}repeated_iu_page_info_struct_s_0_enum;
+
+typedef enum {
+   REPEATED_IU_PAGE_INFO_STRUCT_TMSI,
+   REPEATED_IU_PAGE_INFO_STRUCT_PTMSI,
+   REPEATED_IU_PAGE_INFO_STRUCT_S_3
+}repeated_iu_page_info_struct_s_2_enum;
+
+typedef struct repeated_iu_page_info_struct_s_4{
+   U8 length_of_mobile_identity_contents;
+   U16 numElements_mobile_identity;
+   U8 * mobile_identity;
+}repeated_iu_page_info_struct_s_4;
+
+typedef struct repeated_iu_page_info_struct_s_3{
+   repeated_iu_page_info_struct_s_4 m_repeated_iu_page_info_struct_s_4;
+   page_info_struct page_info_struct;
+}repeated_iu_page_info_struct_s_3;
+
+typedef struct repeated_iu_page_info_struct_s_1{
+   repeated_iu_page_info_struct_s_2_enum repeated_iu_page_info_struct_s_2_tag;
+   union repeated_iu_page_info_struct_s_2_value{
+      U32 tmsi;
+      U32 ptmsi;
+      repeated_iu_page_info_struct_s_3 m_repeated_iu_page_info_struct_s_3;
+   }repeated_iu_page_info_struct_s_2_value;
+   ispresent repeated_iu_page_info_struct_s_5_tag;
+   union repeated_iu_page_info_struct_s_5_value{
+      U8 emlpp_priority;
+   }repeated_iu_page_info_struct_s_5_value;
+}repeated_iu_page_info_struct_s_1;
+
+/* SEQUENCE repeated iu page info struct */
+typedef struct repeated_iu_page_info_struct{
+   repeated_iu_page_info_struct_s_0_enum repeated_iu_page_info_struct_s_0_tag;
+   union repeated_iu_page_info_struct_s_0_value{
+      U32 g_rnti;
+      repeated_iu_page_info_struct_s_1 m_repeated_iu_page_info_struct_s_1;
+   }repeated_iu_page_info_struct_s_0_value;
+}repeated_iu_page_info_struct;
+
+/* SEQUENCE ext frequency list description struct */
+typedef struct ext_frequency_list_description_struct{
+   ext_frequency_list_struct ext_frequency_list;
+   U16 numElements_ext_frequency_list_cont;
+   ext_frequency_list_struct * ext_frequency_list_cont;
+}ext_frequency_list_description_struct;
+
+typedef struct add_frequency_list_struct_s_2{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   U8 bsic;
+   ispresent add_frequency_list_struct_s_3_tag;
+   union add_frequency_list_struct_s_3_value{
+      cell_selection_struct_1 cell_selection_params;
+   }add_frequency_list_struct_s_3_value;
+}add_frequency_list_struct_s_2;
+
+/* SEQUENCE add frequency list struct */
+typedef struct add_frequency_list_struct{
+   U16 start_frequency;
+   U8 bsic;
+   ispresent add_frequency_list_struct_s_1_tag;
+   union add_frequency_list_struct_s_1_value{
+      cell_selection_struct_1 cell_selection_params;
+   }add_frequency_list_struct_s_1_value;
+   U8 nr_of_frequencies;
+   U8 freq_diff_length;
+   U16 numElements_m_add_frequency_list_struct_s_2;
+   add_frequency_list_struct_s_2 * m_add_frequency_list_struct_s_2;
+}add_frequency_list_struct;
+
+typedef struct dynamic_allocation_struct_s_2{
+   U8 p0;
+   U8 pr_mode;
+}dynamic_allocation_struct_s_2;
+
+typedef enum {
+   TIMESLOT_ALLOCATION,
+   TIMESLOT_ALLOCATION_WITH_POWER_CONTROL
+}dynamic_allocation_struct_s_6_enum;
+
+/* SEQUENCE dynamic allocation struct */
+typedef struct dynamic_allocation_struct{
+   U8 extended_dynamic_allocation;
+   ispresent dynamic_allocation_struct_s_1_tag;
+   union dynamic_allocation_struct_s_1_value{
+      dynamic_allocation_struct_s_2 m_dynamic_allocation_struct_s_2;
+   }dynamic_allocation_struct_s_1_value;
+   U8 usf_granularity;
+   ispresent dynamic_allocation_struct_s_3_tag;
+   union dynamic_allocation_struct_s_3_value{
+      U8 uplink_tfi_assignment;
+   }dynamic_allocation_struct_s_3_value;
+   ispresent dynamic_allocation_struct_s_4_tag;
+   union dynamic_allocation_struct_s_4_value{
+      U8 rlc_data_blocks_granted;
+   }dynamic_allocation_struct_s_4_value;
+   ispresent dynamic_allocation_struct_s_5_tag;
+   union dynamic_allocation_struct_s_5_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }dynamic_allocation_struct_s_5_value;
+   dynamic_allocation_struct_s_6_enum dynamic_allocation_struct_s_6_tag;
+   union dynamic_allocation_struct_s_6_value{
+      timeslot_allocation_struct timeslot_allocation;
+      timeslot_allocation_with_power_control_parameters timeslot_allocation_with_power_control;
+   }dynamic_allocation_struct_s_6_value;
+}dynamic_allocation_struct;
+
+typedef struct dynamic_allocation_in_ptr_struct_s_2{
+   U8 p0;
+   U8 pr_mode;
+}dynamic_allocation_in_ptr_struct_s_2;
+
+typedef enum {
+   DYNAMIC_ALLOCATION_IN_PTR_STRUCT_TIMESLOT_ALLOCATION,
+   DYNAMIC_ALLOCATION_IN_PTR_STRUCT_TIMESLOT_ALLOCATION_WITH_POWER_CONTROL
+}dynamic_allocation_in_ptr_struct_s_5_enum;
+
+/* SEQUENCE dynamic allocation in ptr struct */
+typedef struct dynamic_allocation_in_ptr_struct{
+   U8 extended_dynamic_allocation;
+   ispresent dynamic_allocation_in_ptr_struct_s_1_tag;
+   union dynamic_allocation_in_ptr_struct_s_1_value{
+      dynamic_allocation_in_ptr_struct_s_2 m_dynamic_allocation_in_ptr_struct_s_2;
+   }dynamic_allocation_in_ptr_struct_s_1_value;
+   U8 usf_granularity;
+   ispresent dynamic_allocation_in_ptr_struct_s_3_tag;
+   union dynamic_allocation_in_ptr_struct_s_3_value{
+      U8 rlc_data_blocks_granted;
+   }dynamic_allocation_in_ptr_struct_s_3_value;
+   ispresent dynamic_allocation_in_ptr_struct_s_4_tag;
+   union dynamic_allocation_in_ptr_struct_s_4_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }dynamic_allocation_in_ptr_struct_s_4_value;
+   dynamic_allocation_in_ptr_struct_s_5_enum dynamic_allocation_in_ptr_struct_s_5_tag;
+   union dynamic_allocation_in_ptr_struct_s_5_value{
+      timeslot_allocation_struct timeslot_allocation;
+      timeslot_allocation_with_power_control_parameters timeslot_allocation_with_power_control;
+   }dynamic_allocation_in_ptr_struct_s_5_value;
+}dynamic_allocation_in_ptr_struct;
+
+typedef struct single_block_allocation_struct_s_2{
+   U8 alpha;
+   U8 gamma_tn;
+}single_block_allocation_struct_s_2;
+
+typedef struct single_block_allocation_struct_s_4{
+   U8 p0;
+   U8 bts_pwr_ctrl_mode;
+   U8 pr_mode;
+}single_block_allocation_struct_s_4;
+
+/* SEQUENCE single block allocation struct */
+typedef struct single_block_allocation_struct{
+   U8 timeslot_number;
+   ispresent single_block_allocation_struct_s_1_tag;
+   union single_block_allocation_struct_s_1_value{
+      single_block_allocation_struct_s_2 m_single_block_allocation_struct_s_2;
+   }single_block_allocation_struct_s_1_value;
+   ispresent single_block_allocation_struct_s_3_tag;
+   union single_block_allocation_struct_s_3_value{
+      single_block_allocation_struct_s_4 m_single_block_allocation_struct_s_4;
+   }single_block_allocation_struct_s_3_value;
+   starting_frame_number_description_ie tbf_starting_time;
+}single_block_allocation_struct;
+
+typedef struct multi_block_allocation_struct_s_2{
+   U8 alpha;
+   U8 gamma_tn;
+}multi_block_allocation_struct_s_2;
+
+typedef struct multi_block_allocation_struct_s_4{
+   U8 p0;
+   U8 bts_pwr_ctrl_mode;
+   U8 pr_mode;
+}multi_block_allocation_struct_s_4;
+
+/* SEQUENCE multi block allocation struct */
+typedef struct multi_block_allocation_struct{
+   U8 timeslot_number;
+   ispresent multi_block_allocation_struct_s_1_tag;
+   union multi_block_allocation_struct_s_1_value{
+      multi_block_allocation_struct_s_2 m_multi_block_allocation_struct_s_2;
+   }multi_block_allocation_struct_s_1_value;
+   ispresent multi_block_allocation_struct_s_3_tag;
+   union multi_block_allocation_struct_s_3_value{
+      multi_block_allocation_struct_s_4 m_multi_block_allocation_struct_s_4;
+   }multi_block_allocation_struct_s_3_value;
+   starting_frame_number_description_ie tbf_starting_time;
+   U8 number_of_radio_blocks_allocated;
+}multi_block_allocation_struct;
+
+/* SEQUENCE global tn uplink tbf assignment */
+typedef struct global_tn_uplink_tbf_assignment{
+   timeslot_description_struct global_timeslot_description;
+   U16 numElements_uplink_tbf_assignment;
+   uplink_tbf_assignment_struct * uplink_tbf_assignment;
+}global_tn_uplink_tbf_assignment;
+
+/* SEQUENCE multiple downlink tbf assignment struct */
+typedef struct multiple_downlink_tbf_assignment_struct{
+   U8 timeslot_allocation;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_struct * downlink_tbf_assignment;
+}multiple_downlink_tbf_assignment_struct;
+
+/* SEQUENCE multiple downlink assignment struct */
+typedef struct multiple_downlink_assignment_struct{
+   U8 timeslot_allocation;
+   ispresent multiple_downlink_assignment_struct_s_1_tag;
+   union multiple_downlink_assignment_struct_s_1_value{
+      U8 uplink_control_timeslot;
+   }multiple_downlink_assignment_struct_s_1_value;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_struct_for_mttr * downlink_tbf_assignment;
+}multiple_downlink_assignment_struct;
+
+typedef struct multiple_uplink_assignment_struct_s_2{
+   U8 p0;
+   U8 pr_mode;
+}multiple_uplink_assignment_struct_s_2;
+
+/* SEQUENCE multiple uplink assignment struct */
+typedef struct multiple_uplink_assignment_struct{
+   U8 extended_dynamic_allocation;
+   ispresent multiple_uplink_assignment_struct_s_1_tag;
+   union multiple_uplink_assignment_struct_s_1_value{
+      multiple_uplink_assignment_struct_s_2 m_multiple_uplink_assignment_struct_s_2;
+   }multiple_uplink_assignment_struct_s_1_value;
+   ispresent multiple_uplink_assignment_struct_s_3_tag;
+   union multiple_uplink_assignment_struct_s_3_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }multiple_uplink_assignment_struct_s_3_value;
+   ispresent multiple_uplink_assignment_struct_s_4_tag;
+   union multiple_uplink_assignment_struct_s_4_value{
+      global_tn_uplink_tbf_assignment global_tn_uplink_tbf_parameters;
+   }multiple_uplink_assignment_struct_s_4_value;
+}multiple_uplink_assignment_struct;
+
+typedef struct egprs_mode_struct_s_9{
+   ispresent egprs_mode_struct_s_10_tag;
+   union egprs_mode_struct_s_10_value{
+      egprs_window_size_ie egprs_window_size;
+   }egprs_mode_struct_s_10_value;
+   U8 link_quality_measurement_mode;
+   ispresent egprs_mode_struct_s_11_tag;
+   union egprs_mode_struct_s_11_value{
+      U8 bep_period2;
+   }egprs_mode_struct_s_11_value;
+}egprs_mode_struct_s_9;
+
+typedef struct egprs_mode_struct_s_7{
+   ispresent egprs_mode_struct_s_8_tag;
+   union egprs_mode_struct_s_8_value{
+      egprs_mode_struct_s_9 m_egprs_mode_struct_s_9;
+   }egprs_mode_struct_s_8_value;
+   U16 numElements_downlink_assignment;
+   downlink_assignment_struct * downlink_assignment;
+}egprs_mode_struct_s_7;
+
+/* SEQUENCE egprs mode struct */
+typedef struct egprs_mode_struct{
+   ispresent egprs_mode_struct_s_2_tag;
+   union egprs_mode_struct_s_2_value{
+      egprs_window_size_ie egprs_window_size;
+   }egprs_mode_struct_s_2_value;
+   ispresent egprs_mode_struct_s_3_tag;
+   union egprs_mode_struct_s_3_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }egprs_mode_struct_s_3_value;
+   ispresent egprs_mode_struct_s_4_tag;
+   union egprs_mode_struct_s_4_value{
+      U8 bep_period2;
+   }egprs_mode_struct_s_4_value;
+   ispresent egprs_mode_struct_s_5_tag;
+   union egprs_mode_struct_s_5_value{
+      global_tn_uplink_tbf_assignment global_tn_uplink_tbf_parameters;
+   }egprs_mode_struct_s_5_value;
+   ispresent egprs_mode_struct_s_6_tag;
+   union egprs_mode_struct_s_6_value{
+      egprs_mode_struct_s_7 m_egprs_mode_struct_s_7;
+   }egprs_mode_struct_s_6_value;
+}egprs_mode_struct;
+
+/* SEQUENCE gprs mode struct */
+typedef struct gprs_mode_struct{
+   ispresent gprs_mode_struct_s_1_tag;
+   union gprs_mode_struct_s_1_value{
+      U8 channel_coding_command;
+   }gprs_mode_struct_s_1_value;
+   ispresent gprs_mode_struct_s_2_tag;
+   union gprs_mode_struct_s_2_value{
+      global_tn_uplink_tbf_assignment global_tn_uplink_tbf_parameters;
+   }gprs_mode_struct_s_2_value;
+   U16 numElements_downlink_assignment;
+   downlink_assignment_struct * downlink_assignment;
+}gprs_mode_struct;
+
+typedef struct uplink_assignment_struct_s_3{
+   U8 p0;
+   U8 pr_mode;
+}uplink_assignment_struct_s_3;
+
+/* SEQUENCE uplink assignment struct */
+typedef struct uplink_assignment_struct{
+   U8 extended_dynamic_allocation;
+   ispresent uplink_assignment_struct_s_1_tag;
+   union uplink_assignment_struct_s_1_value{
+      U8 uplink_control_timeslot;
+   }uplink_assignment_struct_s_1_value;
+   ispresent uplink_assignment_struct_s_2_tag;
+   union uplink_assignment_struct_s_2_value{
+      uplink_assignment_struct_s_3 m_uplink_assignment_struct_s_3;
+   }uplink_assignment_struct_s_2_value;
+   ispresent uplink_assignment_struct_s_4_tag;
+   union uplink_assignment_struct_s_4_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }uplink_assignment_struct_s_4_value;
+   ispresent uplink_assignment_struct_s_5_tag;
+   union uplink_assignment_struct_s_5_value{
+      global_tn_uplink_tbf_assignment global_tn_uplink_tbf_parameters;
+   }uplink_assignment_struct_s_5_value;
+}uplink_assignment_struct;
+
+typedef struct uplink_assignment_2_struct_s_6{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}uplink_assignment_2_struct_s_6;
+
+typedef struct uplink_assignment_2_struct_s_4{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent uplink_assignment_2_struct_s_5_tag;
+   union uplink_assignment_2_struct_s_5_value{
+      uplink_assignment_2_struct_s_6 m_uplink_assignment_2_struct_s_6;
+   }uplink_assignment_2_struct_s_5_value;
+}uplink_assignment_2_struct_s_4;
+
+typedef struct uplink_assignment_2_struct_s_8{
+   ispresent uplink_assignment_2_struct_s_8_tag;
+   union uplink_assignment_2_struct_s_8_value{
+      U8 tsh;
+   }uplink_assignment_2_struct_s_8_value;
+}uplink_assignment_2_struct_s_8;
+
+typedef struct uplink_assignment_2_struct_s_12{
+   timeslot_description_2_struct global_timeslot_description;
+   U16 numElements_uplink_tbf_assignment_2;
+   uplink_tbf_assignment_2_struct * uplink_tbf_assignment_2;
+}uplink_assignment_2_struct_s_12;
+
+typedef struct uplink_assignment_2_struct_s_16{
+   uplink_tbf_assignment_2_struct uplink_tbf_assignment_2;
+   U8 rtti_usf_mode;
+}uplink_assignment_2_struct_s_16;
+
+typedef struct uplink_assignment_2_struct_s_15{
+   pdch_pairs_description_ie pdch_pairs_description;
+   power_control_parameter_in_mtbf_assignment power_control_parameter_mtbf;
+   U16 numElements_m_uplink_assignment_2_struct_s_16;
+   uplink_assignment_2_struct_s_16 * m_uplink_assignment_2_struct_s_16;
+}uplink_assignment_2_struct_s_15;
+
+typedef struct uplink_assignment_2_struct_s_10{
+   ispresent uplink_assignment_2_struct_s_11_tag;
+   union uplink_assignment_2_struct_s_11_value{
+      uplink_assignment_2_struct_s_12 m_uplink_assignment_2_struct_s_12;
+   }uplink_assignment_2_struct_s_11_value;
+   ispresent uplink_assignment_2_struct_s_14_tag;
+   union uplink_assignment_2_struct_s_14_value{
+      uplink_assignment_2_struct_s_15 m_uplink_assignment_2_struct_s_15;
+   }uplink_assignment_2_struct_s_14_value;
+}uplink_assignment_2_struct_s_10;
+
+/* SEQUENCE uplink assignment 2 struct */
+typedef struct uplink_assignment_2_struct{
+   U8 extended_dynamic_allocation;
+   ispresent uplink_assignment_2_struct_s_1_tag;
+   union uplink_assignment_2_struct_s_1_value{
+      U8 uplink_control_timeslot_c1;
+   }uplink_assignment_2_struct_s_1_value;
+   ispresent uplink_assignment_2_struct_s_2_tag;
+   union uplink_assignment_2_struct_s_2_value{
+      U8 uplink_control_timeslot_c2;
+   }uplink_assignment_2_struct_s_2_value;
+   ispresent uplink_assignment_2_struct_s_3_tag;
+   union uplink_assignment_2_struct_s_3_value{
+      uplink_assignment_2_struct_s_4 m_uplink_assignment_2_struct_s_4;
+   }uplink_assignment_2_struct_s_3_value;
+   ispresent uplink_assignment_2_struct_s_7_tag;
+   union uplink_assignment_2_struct_s_7_value{
+      uplink_assignment_2_struct_s_8 m_uplink_assignment_2_struct_s_8;
+   }uplink_assignment_2_struct_s_7_value;
+   ispresent uplink_assignment_2_struct_s_9_tag;
+   union uplink_assignment_2_struct_s_9_value{
+      uplink_assignment_2_struct_s_10 m_uplink_assignment_2_struct_s_10;
+   }uplink_assignment_2_struct_s_9_value;
+}uplink_assignment_2_struct;
+
+typedef enum {
+   DUAL_CARRIER_FREQUENCY_PARAMETERS_IE_S_2,
+   INDIRECT_ENCODING,
+   DIRECT_ENCODING_1,
+   DIRECT_ENCODING_2
+}dual_carrier_frequency_parameters_ie_s_1_enum;
+
+typedef struct dual_carrier_frequency_parameters_ie_s_3{
+   U16 arfcn1;
+   U16 arfcn2;
+}dual_carrier_frequency_parameters_ie_s_3;
+
+typedef struct dual_carrier_frequency_parameters_ie_s_2{
+   ispresent dual_carrier_frequency_parameters_ie_s_2_tag;
+   union dual_carrier_frequency_parameters_ie_s_2_value{
+      dual_carrier_frequency_parameters_ie_s_3 m_dual_carrier_frequency_parameters_ie_s_3;
+   }dual_carrier_frequency_parameters_ie_s_2_value;
+}dual_carrier_frequency_parameters_ie_s_2;
+
+/* SEQUENCE dual carrier frequency parameters ie */
+typedef struct dual_carrier_frequency_parameters_ie{
+   U8 tsc;
+   dual_carrier_frequency_parameters_ie_s_1_enum dual_carrier_frequency_parameters_ie_s_1_tag;
+   union dual_carrier_frequency_parameters_ie_s_1_value{
+      dual_carrier_frequency_parameters_ie_s_2 m_dual_carrier_frequency_parameters_ie_s_2;
+      dual_carrier_indirect_encoding_struct indirect_encoding;
+      dual_carrier_direct_encoding_1_struct direct_encoding_1;
+      dual_carrier_direct_encoding_2_struct direct_encoding_2;
+   }dual_carrier_frequency_parameters_ie_s_1_value;
+}dual_carrier_frequency_parameters_ie;
+
+/* SEQUENCE btti multiple downlink assignment struct */
+typedef struct btti_multiple_downlink_assignment_struct{
+   ispresent btti_multiple_downlink_assignment_struct_s_1_tag;
+   union btti_multiple_downlink_assignment_struct_s_1_value{
+      U8 timeslot_allocation_c1;
+   }btti_multiple_downlink_assignment_struct_s_1_value;
+   ispresent btti_multiple_downlink_assignment_struct_s_2_tag;
+   union btti_multiple_downlink_assignment_struct_s_2_value{
+      U8 timeslot_allocation_c2;
+   }btti_multiple_downlink_assignment_struct_s_2_value;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct * downlink_tbf_assignment;
+}btti_multiple_downlink_assignment_struct;
+
+/* SEQUENCE rtti multiple downlink assignment sc struct */
+typedef struct rtti_multiple_downlink_assignment_sc_struct{
+   U8 rtti_downlink_pdch_pair_assignment_sc;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct * downlink_tbf_assignment;
+}rtti_multiple_downlink_assignment_sc_struct;
+
+/* SEQUENCE rtti multiple downlink assignment dc struct */
+typedef struct rtti_multiple_downlink_assignment_dc_struct{
+   U8 rtti_downlink_pdch_pair_assignment_dc;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct * downlink_tbf_assignment;
+}rtti_multiple_downlink_assignment_dc_struct;
+
+/* SEQUENCE btti multiple downlink assignment struct 2 */
+typedef struct btti_multiple_downlink_assignment_struct_2{
+   ispresent btti_multiple_downlink_assignment_struct_2_s_1_tag;
+   union btti_multiple_downlink_assignment_struct_2_s_1_value{
+      U8 timeslot_allocation_c1;
+   }btti_multiple_downlink_assignment_struct_2_s_1_value;
+   ispresent btti_multiple_downlink_assignment_struct_2_s_2_tag;
+   union btti_multiple_downlink_assignment_struct_2_s_2_value{
+      U8 timeslot_allocation_c2;
+   }btti_multiple_downlink_assignment_struct_2_s_2_value;
+   ispresent btti_multiple_downlink_assignment_struct_2_s_3_tag;
+   union btti_multiple_downlink_assignment_struct_2_s_3_value{
+      U8 uplink_control_timeslot_c1;
+   }btti_multiple_downlink_assignment_struct_2_s_3_value;
+   ispresent btti_multiple_downlink_assignment_struct_2_s_4_tag;
+   union btti_multiple_downlink_assignment_struct_2_s_4_value{
+      U8 uplink_control_timeslot_c2;
+   }btti_multiple_downlink_assignment_struct_2_s_4_value;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct_2 * downlink_tbf_assignment;
+}btti_multiple_downlink_assignment_struct_2;
+
+/* SEQUENCE rtti multiple downlink assignment sc struct 2 */
+typedef struct rtti_multiple_downlink_assignment_sc_struct_2{
+   U8 rtti_downlink_pdch_pair_assignment_sc;
+   ispresent rtti_multiple_downlink_assignment_sc_struct_2_s_1_tag;
+   union rtti_multiple_downlink_assignment_sc_struct_2_s_1_value{
+      U8 uplink_control_timeslot_c1;
+   }rtti_multiple_downlink_assignment_sc_struct_2_s_1_value;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct_2 * downlink_tbf_assignment;
+}rtti_multiple_downlink_assignment_sc_struct_2;
+
+/* SEQUENCE rtti multiple downlink assignment dc struct 2 */
+typedef struct rtti_multiple_downlink_assignment_dc_struct_2{
+   U8 rtti_downlink_pdch_pair_assignment_dc;
+   ispresent rtti_multiple_downlink_assignment_dc_struct_2_s_1_tag;
+   union rtti_multiple_downlink_assignment_dc_struct_2_s_1_value{
+      U8 uplink_control_timeslot_c1;
+   }rtti_multiple_downlink_assignment_dc_struct_2_s_1_value;
+   ispresent rtti_multiple_downlink_assignment_dc_struct_2_s_2_tag;
+   union rtti_multiple_downlink_assignment_dc_struct_2_s_2_value{
+      U8 uplink_control_timeslot_c2;
+   }rtti_multiple_downlink_assignment_dc_struct_2_s_2_value;
+   U16 numElements_downlink_tbf_assignment;
+   downlink_tbf_assignment_2_struct_2 * downlink_tbf_assignment;
+}rtti_multiple_downlink_assignment_dc_struct_2;
+
+typedef struct multiple_uplink_assignment_2_struct_s_4{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}multiple_uplink_assignment_2_struct_s_4;
+
+typedef struct multiple_uplink_assignment_2_struct_s_2{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent multiple_uplink_assignment_2_struct_s_3_tag;
+   union multiple_uplink_assignment_2_struct_s_3_value{
+      multiple_uplink_assignment_2_struct_s_4 m_multiple_uplink_assignment_2_struct_s_4;
+   }multiple_uplink_assignment_2_struct_s_3_value;
+}multiple_uplink_assignment_2_struct_s_2;
+
+typedef struct multiple_uplink_assignment_2_struct_s_6{
+   ispresent multiple_uplink_assignment_2_struct_s_6_tag;
+   union multiple_uplink_assignment_2_struct_s_6_value{
+      U8 tsh;
+   }multiple_uplink_assignment_2_struct_s_6_value;
+}multiple_uplink_assignment_2_struct_s_6;
+
+typedef struct multiple_uplink_assignment_2_struct_s_10{
+   timeslot_description_2_struct global_timeslot_description;
+   U16 numElements_uplink_tbf_assignment;
+   uplink_tbf_assignment_2_struct_for_mttr * uplink_tbf_assignment;
+}multiple_uplink_assignment_2_struct_s_10;
+
+typedef struct multiple_uplink_assignment_2_struct_s_14{
+   uplink_tbf_assignment_2_struct_for_mttr uplink_tbf_assignment;
+   U8 rtti_usf_mode;
+}multiple_uplink_assignment_2_struct_s_14;
+
+typedef struct multiple_uplink_assignment_2_struct_s_13{
+   power_control_parameter_in_mtbf_assignment power_control_parameter_mtbf;
+   U16 numElements_m_multiple_uplink_assignment_2_struct_s_14;
+   multiple_uplink_assignment_2_struct_s_14 * m_multiple_uplink_assignment_2_struct_s_14;
+}multiple_uplink_assignment_2_struct_s_13;
+
+typedef struct multiple_uplink_assignment_2_struct_s_8{
+   ispresent multiple_uplink_assignment_2_struct_s_9_tag;
+   union multiple_uplink_assignment_2_struct_s_9_value{
+      multiple_uplink_assignment_2_struct_s_10 m_multiple_uplink_assignment_2_struct_s_10;
+   }multiple_uplink_assignment_2_struct_s_9_value;
+   ispresent multiple_uplink_assignment_2_struct_s_12_tag;
+   union multiple_uplink_assignment_2_struct_s_12_value{
+      multiple_uplink_assignment_2_struct_s_13 m_multiple_uplink_assignment_2_struct_s_13;
+   }multiple_uplink_assignment_2_struct_s_12_value;
+}multiple_uplink_assignment_2_struct_s_8;
+
+/* SEQUENCE multiple uplink assignment 2 struct */
+typedef struct multiple_uplink_assignment_2_struct{
+   U8 extended_dynamic_allocation;
+   ispresent multiple_uplink_assignment_2_struct_s_1_tag;
+   union multiple_uplink_assignment_2_struct_s_1_value{
+      multiple_uplink_assignment_2_struct_s_2 m_multiple_uplink_assignment_2_struct_s_2;
+   }multiple_uplink_assignment_2_struct_s_1_value;
+   ispresent multiple_uplink_assignment_2_struct_s_5_tag;
+   union multiple_uplink_assignment_2_struct_s_5_value{
+      multiple_uplink_assignment_2_struct_s_6 m_multiple_uplink_assignment_2_struct_s_6;
+   }multiple_uplink_assignment_2_struct_s_5_value;
+   ispresent multiple_uplink_assignment_2_struct_s_7_tag;
+   union multiple_uplink_assignment_2_struct_s_7_value{
+      multiple_uplink_assignment_2_struct_s_8 m_multiple_uplink_assignment_2_struct_s_8;
+   }multiple_uplink_assignment_2_struct_s_7_value;
+}multiple_uplink_assignment_2_struct;
+
+typedef enum {
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_S_1,
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_S_5
+}pdch_pairs_description_ie_for_mttr_s_0_enum;
+
+typedef enum {
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_CONCAT_00,
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_CONCAT_01,
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_S_3
+}pdch_pairs_description_ie_for_mttr_s_2_enum;
+
+typedef struct pdch_pairs_description_ie_for_mttr_s_3{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}pdch_pairs_description_ie_for_mttr_s_3;
+
+typedef struct pdch_pairs_description_ie_for_mttr_s_1{
+   pdch_pairs_description_ie_for_mttr_s_2_enum pdch_pairs_description_ie_for_mttr_s_2_tag;
+   union pdch_pairs_description_ie_for_mttr_s_2_value{
+      pdch_pairs_description_ie_for_mttr_s_3 m_pdch_pairs_description_ie_for_mttr_s_3;
+   }pdch_pairs_description_ie_for_mttr_s_2_value;
+   U16 numElements_rtti_multiple_downlink_assignment_sc;
+   rtti_multiple_downlink_assignment_sc_struct_2 * rtti_multiple_downlink_assignment_sc;
+}pdch_pairs_description_ie_for_mttr_s_1;
+
+typedef enum {
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_CONCAT_001,
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_CONCAT_011,
+   PDCH_PAIRS_DESCRIPTION_IE_FOR_MTTR_S_7
+}pdch_pairs_description_ie_for_mttr_s_6_enum;
+
+typedef struct pdch_pairs_description_ie_for_mttr_s_7{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}pdch_pairs_description_ie_for_mttr_s_7;
+
+typedef struct pdch_pairs_description_ie_for_mttr_s_5{
+   pdch_pairs_description_ie_for_mttr_s_6_enum pdch_pairs_description_ie_for_mttr_s_6_tag;
+   union pdch_pairs_description_ie_for_mttr_s_6_value{
+      pdch_pairs_description_ie_for_mttr_s_7 m_pdch_pairs_description_ie_for_mttr_s_7;
+   }pdch_pairs_description_ie_for_mttr_s_6_value;
+   U16 numElements_rtti_multiple_downlink_assignment_dc;
+   rtti_multiple_downlink_assignment_dc_struct_2 * rtti_multiple_downlink_assignment_dc;
+}pdch_pairs_description_ie_for_mttr_s_5;
+
+/* SEQUENCE pdch pairs description ie for mttr */
+typedef struct pdch_pairs_description_ie_for_mttr{
+   pdch_pairs_description_ie_for_mttr_s_0_enum pdch_pairs_description_ie_for_mttr_s_0_tag;
+   union pdch_pairs_description_ie_for_mttr_s_0_value{
+      pdch_pairs_description_ie_for_mttr_s_1 m_pdch_pairs_description_ie_for_mttr_s_1;
+      pdch_pairs_description_ie_for_mttr_s_5 m_pdch_pairs_description_ie_for_mttr_s_5;
+   }pdch_pairs_description_ie_for_mttr_s_0_value;
+}pdch_pairs_description_ie_for_mttr;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_4{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_4;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_2{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_3_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_3_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_4 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_4;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_3_value;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_2;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6{
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6_value{
+      U8 tsh;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6_value;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_10{
+   timeslot_description_2_struct global_timeslot_description;
+   U16 numElements_uplink_tbf_assignment;
+   uplink_tbf_assignment_2_struct_in_ps_ho_rr_2 * uplink_tbf_assignment;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_10;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_15{
+   uplink_tbf_assignment_2_struct_in_ps_ho_rr_2 uplink_tbf_assignment;
+   U8 rtti_usf_mode;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_15;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_13{
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_14_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_14_value{
+      pdch_pairs_description_ie uplink_assignment_pdch_pairs_description;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_14_value;
+   power_control_parameter_in_mtbf_assignment power_control_parameter_mtbf;
+   U16 numElements_m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_15;
+   multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_15 * m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_15;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_13;
+
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_8{
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_9_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_9_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_10 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_10;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_9_value;
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_12_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_12_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_13 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_13;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_12_value;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_8;
+
+/* SEQUENCE multiple uplink assignment 2 struct in ps ho rr 2 */
+typedef struct multiple_uplink_assignment_2_struct_in_ps_ho_rr_2{
+   U8 extended_dynamic_allocation;
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_1_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_1_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_2 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_2;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_1_value;
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_5_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_5_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_6;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_5_value;
+   ispresent multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_7_tag;
+   union multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_7_value{
+      multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_8 m_multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_8;
+   }multiple_uplink_assignment_2_struct_in_ps_ho_rr_2_s_7_value;
+}multiple_uplink_assignment_2_struct_in_ps_ho_rr_2;
+
+typedef enum {
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_1_NULL,
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_1_BIT,
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_2
+}packet_control_acknowledgement_message_content_s_1_enum;
+
+typedef struct packet_control_acknowledgement_message_content_s_1_bit{
+   U16 numElements_packet_control_acknowledgement_message_content_s_1_bit;
+   U8 * packet_control_acknowledgement_message_content_s_1_bit;
+}packet_control_acknowledgement_message_content_s_1_bit;
+
+typedef enum {
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_5_NULL,
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_5_BIT,
+   PACKET_CONTROL_ACKNOWLEDGEMENT_MESSAGE_CONTENT_S_6
+}packet_control_acknowledgement_message_content_s_5_enum;
+
+typedef struct packet_control_acknowledgement_message_content_s_5_bit{
+   U16 numElements_packet_control_acknowledgement_message_content_s_5_bit;
+   U8 * packet_control_acknowledgement_message_content_s_5_bit;
+}packet_control_acknowledgement_message_content_s_5_bit;
+
+typedef struct packet_control_acknowledgement_message_content_s_6{
+   ispresent packet_control_acknowledgement_message_content_s_7_tag;
+   union packet_control_acknowledgement_message_content_s_7_value{
+      U16 ctrl_ack_extension;
+   }packet_control_acknowledgement_message_content_s_7_value;
+}packet_control_acknowledgement_message_content_s_6;
+
+typedef struct packet_control_acknowledgement_message_content_s_2{
+   ispresent packet_control_acknowledgement_message_content_s_3_tag;
+   union packet_control_acknowledgement_message_content_s_3_value{
+      U8 tn_rrbp;
+   }packet_control_acknowledgement_message_content_s_3_value;
+   ispresent packet_control_acknowledgement_message_content_s_4_tag;
+   union packet_control_acknowledgement_message_content_s_4_value{
+      U8 g_rnti_extension;
+   }packet_control_acknowledgement_message_content_s_4_value;
+   packet_control_acknowledgement_message_content_s_5_enum packet_control_acknowledgement_message_content_s_5_tag;
+   union packet_control_acknowledgement_message_content_s_5_value{
+      packet_control_acknowledgement_message_content_s_5_bit m_packet_control_acknowledgement_message_content_s_5_bit;
+      packet_control_acknowledgement_message_content_s_6 m_packet_control_acknowledgement_message_content_s_6;
+   }packet_control_acknowledgement_message_content_s_5_value;
+}packet_control_acknowledgement_message_content_s_2;
+
+/* SEQUENCE packet control acknowledgement message content */
+typedef struct packet_control_acknowledgement_message_content{
+   uplink_header_struct header;
+   U32 tlli_g_rnti;
+   U8 ctrl_ack;
+   packet_control_acknowledgement_message_content_s_1_enum packet_control_acknowledgement_message_content_s_1_tag;
+   union packet_control_acknowledgement_message_content_s_1_value{
+      packet_control_acknowledgement_message_content_s_1_bit m_packet_control_acknowledgement_message_content_s_1_bit;
+      packet_control_acknowledgement_message_content_s_2 m_packet_control_acknowledgement_message_content_s_2;
+   }packet_control_acknowledgement_message_content_s_1_value;
+}packet_control_acknowledgement_message_content;
+
+typedef enum {
+   MESSAGE_TYPE,
+   PACKET_CONTROL_ACKNOWLEDGEMENT_11_BIT_MESSAGE_S_2
+}packet_control_acknowledgement_11_bit_message_s_1_enum;
+
+typedef struct packet_control_acknowledgement_11_bit_message_s_2{
+   U8 tn_rrbp;
+   U8 ctrl_ack;
+}packet_control_acknowledgement_11_bit_message_s_2;
+
+/* SEQUENCE packet control acknowledgement 11 bit message */
+typedef struct packet_control_acknowledgement_11_bit_message{
+   uplink_header_struct header;
+   packet_control_acknowledgement_11_bit_message_s_1_enum packet_control_acknowledgement_11_bit_message_s_1_tag;
+   U16 message_type;
+   union packet_control_acknowledgement_11_bit_message_s_1_value{
+      packet_control_acknowledgement_11_bit_message_s_2 m_packet_control_acknowledgement_11_bit_message_s_2;
+   }packet_control_acknowledgement_11_bit_message_s_1_value;
+}packet_control_acknowledgement_11_bit_message;
+
+typedef enum {
+   PACKET_CONTROL_ACKNOWLEDGEMENT_8_BIT_MESSAGE_MESSAGE_TYPE,
+   TN_RRBP
+}packet_control_acknowledgement_8_bit_message_s_1_enum;
+
+/* SEQUENCE packet control acknowledgement 8 bit message */
+typedef struct packet_control_acknowledgement_8_bit_message{
+   uplink_header_struct header;
+   packet_control_acknowledgement_8_bit_message_s_1_enum packet_control_acknowledgement_8_bit_message_s_1_tag;
+   U8 message_type;
+   union packet_control_acknowledgement_8_bit_message_s_1_value{
+      U8 tn_rrbp;
+   }packet_control_acknowledgement_8_bit_message_s_1_value;
+   U8 ctrl_ack;
+}packet_control_acknowledgement_8_bit_message;
+
+typedef enum {
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_1_NULL,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_1_BIT,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_2
+}packet_cell_change_failure_message_content_s_1_enum;
+
+typedef struct packet_cell_change_failure_message_content_s_1_bit{
+   U16 numElements_packet_cell_change_failure_message_content_s_1_bit;
+   U8 * packet_cell_change_failure_message_content_s_1_bit;
+}packet_cell_change_failure_message_content_s_1_bit;
+
+typedef enum {
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_5_NULL,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_5_BIT,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_6
+}packet_cell_change_failure_message_content_s_5_enum;
+
+typedef struct packet_cell_change_failure_message_content_s_5_bit{
+   U16 numElements_packet_cell_change_failure_message_content_s_5_bit;
+   U8 * packet_cell_change_failure_message_content_s_5_bit;
+}packet_cell_change_failure_message_content_s_5_bit;
+
+typedef enum {
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_8_NULL,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_8_BIT,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_9
+}packet_cell_change_failure_message_content_s_8_enum;
+
+typedef struct packet_cell_change_failure_message_content_s_8_bit{
+   U16 numElements_packet_cell_change_failure_message_content_s_8_bit;
+   U8 * packet_cell_change_failure_message_content_s_8_bit;
+}packet_cell_change_failure_message_content_s_8_bit;
+
+typedef enum {
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_11_NULL,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_11_BIT,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_12
+}packet_cell_change_failure_message_content_s_11_enum;
+
+typedef struct packet_cell_change_failure_message_content_s_11_bit{
+   U16 numElements_packet_cell_change_failure_message_content_s_11_bit;
+   U8 * packet_cell_change_failure_message_content_s_11_bit;
+}packet_cell_change_failure_message_content_s_11_bit;
+
+typedef enum {
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_15_NULL,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_15_BIT,
+   PACKET_CELL_CHANGE_FAILURE_MESSAGE_CONTENT_S_16
+}packet_cell_change_failure_message_content_s_15_enum;
+
+typedef struct packet_cell_change_failure_message_content_s_15_bit{
+   U16 numElements_packet_cell_change_failure_message_content_s_15_bit;
+   U8 * packet_cell_change_failure_message_content_s_15_bit;
+}packet_cell_change_failure_message_content_s_15_bit;
+
+typedef struct packet_cell_change_failure_message_content_s_16{
+    ispresent packet_cell_change_failure_message_content_s_17_tag;
+    union packet_cell_change_failure_message_content_s_17_value{
+       e_utran_target_cell_extended_earfcn_ie e_utran_target_cell_extended_earfcn;
+    }packet_cell_change_failure_message_content_s_17_value;
+
+}packet_cell_change_failure_message_content_s_16;
+
+typedef struct packet_cell_change_failure_message_content_s_12{
+   ispresent packet_cell_change_failure_message_content_s_13_tag;
+   union packet_cell_change_failure_message_content_s_13_value{
+      utran_csg_target_cell_ie utran_csg_target_cell;
+   }packet_cell_change_failure_message_content_s_13_value;
+   ispresent packet_cell_change_failure_message_content_s_14_tag;
+   union packet_cell_change_failure_message_content_s_14_value{
+      e_utran_csg_target_cell_ie e_utran_csg_target_cell;
+   }packet_cell_change_failure_message_content_s_14_value;
+   /*Rel 11*/
+   packet_cell_change_failure_message_content_s_15_enum packet_cell_change_failure_message_content_s_15_tag;
+   union packet_cell_change_failure_message_content_s_15_value{
+      packet_cell_change_failure_message_content_s_15_bit m_packet_cell_change_failure_message_content_s_15_bit;
+      packet_cell_change_failure_message_content_s_16 m_packet_cell_change_failure_message_content_s_16;
+   }packet_cell_change_failure_message_content_s_15_value;
+}packet_cell_change_failure_message_content_s_12;
+
+typedef struct packet_cell_change_failure_message_content_s_9{
+   ispresent packet_cell_change_failure_message_content_s_10_tag;
+   union packet_cell_change_failure_message_content_s_10_value{
+      e_utran_target_cell_ie e_utran_target_cell;
+   }packet_cell_change_failure_message_content_s_10_value;
+   packet_cell_change_failure_message_content_s_11_enum packet_cell_change_failure_message_content_s_11_tag;
+   union packet_cell_change_failure_message_content_s_11_value{
+      packet_cell_change_failure_message_content_s_11_bit m_packet_cell_change_failure_message_content_s_11_bit;
+      packet_cell_change_failure_message_content_s_12 m_packet_cell_change_failure_message_content_s_12;
+   }packet_cell_change_failure_message_content_s_11_value;
+}packet_cell_change_failure_message_content_s_9;
+
+typedef struct packet_cell_change_failure_message_content_s_6{
+   ispresent packet_cell_change_failure_message_content_s_7_tag;
+   union packet_cell_change_failure_message_content_s_7_value{
+      U8 g_rnti_extension;
+   }packet_cell_change_failure_message_content_s_7_value;
+   packet_cell_change_failure_message_content_s_8_enum packet_cell_change_failure_message_content_s_8_tag;
+   union packet_cell_change_failure_message_content_s_8_value{
+      packet_cell_change_failure_message_content_s_8_bit m_packet_cell_change_failure_message_content_s_8_bit;
+      packet_cell_change_failure_message_content_s_9 m_packet_cell_change_failure_message_content_s_9;
+   }packet_cell_change_failure_message_content_s_8_value;
+}packet_cell_change_failure_message_content_s_6;
+
+typedef struct packet_cell_change_failure_message_content_s_2{
+   ispresent packet_cell_change_failure_message_content_s_3_tag;
+   union packet_cell_change_failure_message_content_s_3_value{
+      utran_fdd_target_cell_ie utran_fdd_target_cell;
+   }packet_cell_change_failure_message_content_s_3_value;
+   ispresent packet_cell_change_failure_message_content_s_4_tag;
+   union packet_cell_change_failure_message_content_s_4_value{
+      utran_tdd_target_cell_ie utran_tdd_target_cell;
+   }packet_cell_change_failure_message_content_s_4_value;
+   packet_cell_change_failure_message_content_s_5_enum packet_cell_change_failure_message_content_s_5_tag;
+   union packet_cell_change_failure_message_content_s_5_value{
+      packet_cell_change_failure_message_content_s_5_bit m_packet_cell_change_failure_message_content_s_5_bit;
+      packet_cell_change_failure_message_content_s_6 m_packet_cell_change_failure_message_content_s_6;
+   }packet_cell_change_failure_message_content_s_5_value;
+}packet_cell_change_failure_message_content_s_2;
+
+/* SEQUENCE packet cell change failure message content */
+typedef struct packet_cell_change_failure_message_content{
+   uplink_header_struct header;
+   U32 tlli___g_rnti;
+   U16 arfcn;
+   U8 bsic;
+   U8 cause;
+   packet_cell_change_failure_message_content_s_1_enum packet_cell_change_failure_message_content_s_1_tag;
+   union packet_cell_change_failure_message_content_s_1_value{
+      packet_cell_change_failure_message_content_s_1_bit m_packet_cell_change_failure_message_content_s_1_bit;
+      packet_cell_change_failure_message_content_s_2 m_packet_cell_change_failure_message_content_s_2;
+   }packet_cell_change_failure_message_content_s_1_value;
+}packet_cell_change_failure_message_content;
+
+typedef enum {
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_2,
+   P_3_G_TARGET_CELL,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_3,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_9
+}packet_cell_change_notification_message_content_s_1_enum;
+
+typedef struct packet_cell_change_notification_message_content_s_2{
+   U16 arfcn;
+   U8 bsic;
+}packet_cell_change_notification_message_content_s_2;
+
+typedef struct packet_cell_change_notification_message_content_s_5{
+   U16 arfcn;
+   U8 bsic;
+}packet_cell_change_notification_message_content_s_5;
+
+typedef struct packet_cell_change_notification_message_content_s_3{
+   ispresent packet_cell_change_notification_message_content_s_4_tag;
+   union packet_cell_change_notification_message_content_s_4_value{
+      packet_cell_change_notification_message_content_s_5 m_packet_cell_change_notification_message_content_s_5;
+   }packet_cell_change_notification_message_content_s_4_value;
+   ispresent packet_cell_change_notification_message_content_s_6_tag;
+   union packet_cell_change_notification_message_content_s_6_value{
+      p_3_g_target_cell_struct p_3_g_target_cell;
+   }packet_cell_change_notification_message_content_s_6_value;
+   ispresent packet_cell_change_notification_message_content_s_7_tag;
+   union packet_cell_change_notification_message_content_s_7_value{
+      e_utran_target_cell_struct e_utran_target_cell;
+   }packet_cell_change_notification_message_content_s_7_value;
+   ispresent packet_cell_change_notification_message_content_s_8_tag;
+   union packet_cell_change_notification_message_content_s_8_value{
+      e_utran_ccn_measurement_report_struct e_utran_ccn_measurement_report;
+   }packet_cell_change_notification_message_content_s_8_value;
+}packet_cell_change_notification_message_content_s_3;
+
+typedef enum {
+   UTRAN_CSG_TARGET_CELL_MEASUREMENT_REPORT,
+   E_UTRAN_CSG_TARGET_CELL_MEASUREMENT_REPORT
+}packet_cell_change_notification_message_content_s_10_enum;
+
+typedef struct packet_cell_change_notification_message_content_s_9{
+   packet_cell_change_notification_message_content_s_10_enum packet_cell_change_notification_message_content_s_10_tag;
+   union packet_cell_change_notification_message_content_s_10_value{
+      utran_csg_measurement_report_ie utran_csg_target_cell_measurement_report;
+      e_utran_csg_measurement_report_ie e_utran_csg_target_cell_measurement_report;
+   }packet_cell_change_notification_message_content_s_10_value;
+   ispresent packet_cell_change_notification_message_content_s_11_tag;
+   union packet_cell_change_notification_message_content_s_11_value{
+      e_utran_ccn_measurement_report_struct e_utran_ccn_measurement_report;
+   }packet_cell_change_notification_message_content_s_11_value;
+}packet_cell_change_notification_message_content_s_9;
+
+typedef enum {
+   BA_USED,
+   PSI3_CHANGE_MARK
+}packet_cell_change_notification_message_content_s_12_enum;
+
+typedef enum {
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_13_NULL,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_13_BIT,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_14
+}packet_cell_change_notification_message_content_s_13_enum;
+
+typedef struct packet_cell_change_notification_message_content_s_13_bit{
+   U16 numElements_packet_cell_change_notification_message_content_s_13_bit;
+   U8 * packet_cell_change_notification_message_content_s_13_bit;
+}packet_cell_change_notification_message_content_s_13_bit;
+
+typedef enum {
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_16_NULL,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_16_BIT,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_17
+}packet_cell_change_notification_message_content_s_16_enum;
+
+typedef struct packet_cell_change_notification_message_content_s_16_bit{
+   U16 numElements_packet_cell_change_notification_message_content_s_16_bit;
+   U8 * packet_cell_change_notification_message_content_s_16_bit;
+}packet_cell_change_notification_message_content_s_16_bit;
+
+/*Rel11*/
+typedef enum {
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_18_NULL,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_18_BIT,
+   PACKET_CELL_CHANGE_NOTIFICATION_MESSAGE_CONTENT_S_19
+}packet_cell_change_notification_message_content_s_18_enum;
+
+typedef struct packet_cell_change_notification_message_content_s_18_bit{
+   U16 numElements_packet_cell_change_notification_message_content_s_18_bit;
+   U8 * packet_cell_change_notification_message_content_s_18_bit;
+}packet_cell_change_notification_message_content_s_18_bit;
+
+
+typedef struct packet_cell_change_notification_message_content_s_19{
+    ispresent packet_cell_change_notification_message_content_s_20_tag;
+    union packet_cell_change_notification_message_content_s_20_value{
+       e_utran_target_cell_extended_earfcn_struct e_utran_target_cell_extended_earfcn;
+    }packet_cell_change_notification_message_content_s_20_value;
+}packet_cell_change_notification_message_content_s_19;
+
+typedef struct packet_cell_change_notification_message_content_s_17{
+    U8 csg_discriminator;
+    packet_cell_change_notification_message_content_s_18_enum packet_cell_change_notification_message_content_s_18_tag;
+    union packet_cell_change_notification_message_content_s_18_value{
+       packet_cell_change_notification_message_content_s_18_bit m_packet_cell_change_notification_message_content_s_18_bit;
+       packet_cell_change_notification_message_content_s_19 m_packet_cell_change_notification_message_content_s_19;
+    }packet_cell_change_notification_message_content_s_18_value;
+}packet_cell_change_notification_message_content_s_17;
+
+typedef struct packet_cell_change_notification_message_content_s_14{
+   ispresent packet_cell_change_notification_message_content_s_15_tag;
+   union packet_cell_change_notification_message_content_s_15_value{
+      U8 p_3_g_ba_used;
+   }packet_cell_change_notification_message_content_s_15_value;
+   p_3_g_ccn_measurement_report_struct p_3_g_ccn_measurement_report;
+   packet_cell_change_notification_message_content_s_16_enum packet_cell_change_notification_message_content_s_16_tag;
+   union packet_cell_change_notification_message_content_s_16_value{
+      packet_cell_change_notification_message_content_s_16_bit m_packet_cell_change_notification_message_content_s_16_bit;
+      packet_cell_change_notification_message_content_s_17 m_packet_cell_change_notification_message_content_s_17;
+   }packet_cell_change_notification_message_content_s_16_value;
+}packet_cell_change_notification_message_content_s_14;
+
+/* SEQUENCE packet cell change notification message content */
+typedef struct packet_cell_change_notification_message_content{
+   uplink_header_struct header;
+   global_tfi_ie global_tfi;
+   packet_cell_change_notification_message_content_s_1_enum packet_cell_change_notification_message_content_s_1_tag;
+   union packet_cell_change_notification_message_content_s_1_value{
+      packet_cell_change_notification_message_content_s_2 m_packet_cell_change_notification_message_content_s_2;
+      p_3_g_target_cell_struct p_3_g_target_cell;
+      packet_cell_change_notification_message_content_s_3 m_packet_cell_change_notification_message_content_s_3;
+      packet_cell_change_notification_message_content_s_9 m_packet_cell_change_notification_message_content_s_9;
+   }packet_cell_change_notification_message_content_s_1_value;
+   packet_cell_change_notification_message_content_s_12_enum packet_cell_change_notification_message_content_s_12_tag;
+   union packet_cell_change_notification_message_content_s_12_value{
+      U8 ba_used;
+      U8 psi3_change_mark;
+   }packet_cell_change_notification_message_content_s_12_value;
+   U8 pmo_used;
+   U8 pccn_sending;
+   ccn_measurement_report_struct ccn_measurement_report;
+   packet_cell_change_notification_message_content_s_13_enum packet_cell_change_notification_message_content_s_13_tag;
+   union packet_cell_change_notification_message_content_s_13_value{
+      packet_cell_change_notification_message_content_s_13_bit m_packet_cell_change_notification_message_content_s_13_bit;
+      packet_cell_change_notification_message_content_s_14 m_packet_cell_change_notification_message_content_s_14;
+   }packet_cell_change_notification_message_content_s_13_value;
+}packet_cell_change_notification_message_content;
+
+typedef enum {
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_2_NULL,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_2_BIT,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_3
+}packet_downlink_ack_nack_message_content_s_2_enum;
+
+typedef struct packet_downlink_ack_nack_message_content_s_2_bit{
+   U16 numElements_packet_downlink_ack_nack_message_content_s_2_bit;
+   U8 * packet_downlink_ack_nack_message_content_s_2_bit;
+}packet_downlink_ack_nack_message_content_s_2_bit;
+
+typedef enum {
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_5_NULL,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_5_BIT,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_6
+}packet_downlink_ack_nack_message_content_s_5_enum;
+
+typedef struct packet_downlink_ack_nack_message_content_s_5_bit{
+   U16 numElements_packet_downlink_ack_nack_message_content_s_5_bit;
+   U8 * packet_downlink_ack_nack_message_content_s_5_bit;
+}packet_downlink_ack_nack_message_content_s_5_bit;
+
+typedef enum {
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_10_NULL,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_10_BIT,
+   PACKET_DOWNLINK_ACK_NACK_MESSAGE_CONTENT_S_11
+}packet_downlink_ack_nack_message_content_s_10_enum;
+
+typedef struct packet_downlink_ack_nack_message_content_s_10_bit{
+   U16 numElements_packet_downlink_ack_nack_message_content_s_10_bit;
+   U8 * packet_downlink_ack_nack_message_content_s_10_bit;
+}packet_downlink_ack_nack_message_content_s_10_bit;
+
+typedef struct packet_downlink_ack_nack_message_content_s_11{
+   ispresent packet_downlink_ack_nack_message_content_s_11_tag;
+   union packet_downlink_ack_nack_message_content_s_11_value{
+      struct extended_channel_request_description_ie * extended_channel_request_description;
+   }packet_downlink_ack_nack_message_content_s_11_value;
+}packet_downlink_ack_nack_message_content_s_11;
+
+typedef struct packet_downlink_ack_nack_message_content_s_6{
+   ispresent packet_downlink_ack_nack_message_content_s_7_tag;
+   union packet_downlink_ack_nack_message_content_s_7_value{
+      struct iu_mode_channel_request_description_ie * iu_mode_channel_request_description;
+   }packet_downlink_ack_nack_message_content_s_7_value;
+   ispresent packet_downlink_ack_nack_message_content_s_8_tag;
+   union packet_downlink_ack_nack_message_content_s_8_value{
+      U8 rb_id;
+   }packet_downlink_ack_nack_message_content_s_8_value;
+   ispresent packet_downlink_ack_nack_message_content_s_9_tag;
+   union packet_downlink_ack_nack_message_content_s_9_value{
+      U8 timeslot_number;
+   }packet_downlink_ack_nack_message_content_s_9_value;
+   packet_downlink_ack_nack_message_content_s_10_enum packet_downlink_ack_nack_message_content_s_10_tag;
+   union packet_downlink_ack_nack_message_content_s_10_value{
+      packet_downlink_ack_nack_message_content_s_10_bit m_packet_downlink_ack_nack_message_content_s_10_bit;
+      packet_downlink_ack_nack_message_content_s_11 m_packet_downlink_ack_nack_message_content_s_11;
+   }packet_downlink_ack_nack_message_content_s_10_value;
+}packet_downlink_ack_nack_message_content_s_6;
+
+typedef struct packet_downlink_ack_nack_message_content_s_3{
+   ispresent packet_downlink_ack_nack_message_content_s_4_tag;
+   union packet_downlink_ack_nack_message_content_s_4_value{
+      U8 pfi;
+   }packet_downlink_ack_nack_message_content_s_4_value;
+   packet_downlink_ack_nack_message_content_s_5_enum packet_downlink_ack_nack_message_content_s_5_tag;
+   union packet_downlink_ack_nack_message_content_s_5_value{
+      packet_downlink_ack_nack_message_content_s_5_bit m_packet_downlink_ack_nack_message_content_s_5_bit;
+      packet_downlink_ack_nack_message_content_s_6 m_packet_downlink_ack_nack_message_content_s_6;
+   }packet_downlink_ack_nack_message_content_s_5_value;
+}packet_downlink_ack_nack_message_content_s_3;
+
+/* SEQUENCE packet downlink ack/nack message content */
+typedef struct packet_downlink_ack_nack_message_content{
+   uplink_header_struct header;
+   U8 downlink_tfi;
+   ack_nack_description_ie ack_nack_description;
+   ispresent packet_downlink_ack_nack_message_content_s_1_tag;
+   union packet_downlink_ack_nack_message_content_s_1_value{
+      channel_request_description_ie channel_request_description;
+   }packet_downlink_ack_nack_message_content_s_1_value;
+   channel_quality_report_struct channel_quality_report;
+   packet_downlink_ack_nack_message_content_s_2_enum packet_downlink_ack_nack_message_content_s_2_tag;
+   union packet_downlink_ack_nack_message_content_s_2_value{
+      packet_downlink_ack_nack_message_content_s_2_bit m_packet_downlink_ack_nack_message_content_s_2_bit;
+      packet_downlink_ack_nack_message_content_s_3 m_packet_downlink_ack_nack_message_content_s_3;
+   }packet_downlink_ack_nack_message_content_s_2_value;
+}packet_downlink_ack_nack_message_content;
+
+typedef enum {
+   PACKET_UPLINK_DUMMY_CONTROL_BLOCK_MESSAGE_CONTENT_S_1_NULL,
+   PACKET_UPLINK_DUMMY_CONTROL_BLOCK_MESSAGE_CONTENT_S_1_BIT,
+   PACKET_UPLINK_DUMMY_CONTROL_BLOCK_MESSAGE_CONTENT_S_2
+}packet_uplink_dummy_control_block_message_content_s_1_enum;
+
+typedef struct packet_uplink_dummy_control_block_message_content_s_1_bit{
+   U16 numElements_packet_uplink_dummy_control_block_message_content_s_1_bit;
+   U8 * packet_uplink_dummy_control_block_message_content_s_1_bit;
+}packet_uplink_dummy_control_block_message_content_s_1_bit;
+
+typedef struct packet_uplink_dummy_control_block_message_content_s_2{
+   ispresent packet_uplink_dummy_control_block_message_content_s_3_tag;
+   union packet_uplink_dummy_control_block_message_content_s_3_value{
+      U8 g_rnti_extension;
+   }packet_uplink_dummy_control_block_message_content_s_3_value;
+}packet_uplink_dummy_control_block_message_content_s_2;
+
+/* SEQUENCE packet uplink dummy control block message content */
+typedef struct packet_uplink_dummy_control_block_message_content{
+   uplink_header_struct header;
+   U32 tlli___g_rnti;
+   packet_uplink_dummy_control_block_message_content_s_1_enum packet_uplink_dummy_control_block_message_content_s_1_tag;
+   union packet_uplink_dummy_control_block_message_content_s_1_value{
+      packet_uplink_dummy_control_block_message_content_s_1_bit m_packet_uplink_dummy_control_block_message_content_s_1_bit;
+      packet_uplink_dummy_control_block_message_content_s_2 m_packet_uplink_dummy_control_block_message_content_s_2;
+   }packet_uplink_dummy_control_block_message_content_s_1_value;
+}packet_uplink_dummy_control_block_message_content;
+
+typedef enum {
+   NC_MEASUREMENT_REPORT,
+   EXT_MEASUREMENT_REPORT
+}packet_measurement_report_message_content_s_2_enum;
+
+typedef enum {
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_3_NULL,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_3_BIT,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_4
+}packet_measurement_report_message_content_s_3_enum;
+
+typedef struct packet_measurement_report_message_content_s_3_bit{
+   U16 numElements_packet_measurement_report_message_content_s_3_bit;
+   U8 * packet_measurement_report_message_content_s_3_bit;
+}packet_measurement_report_message_content_s_3_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_8,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_PSI3_CHANGE_MARK
+}packet_measurement_report_message_content_s_7_enum;
+
+typedef struct packet_measurement_report_message_content_s_8{
+   U8 ba_used;
+   U8 p_3_g_ba_used;
+}packet_measurement_report_message_content_s_8;
+
+typedef struct packet_measurement_report_message_content_s_6{
+   packet_measurement_report_message_content_s_7_enum packet_measurement_report_message_content_s_7_tag;
+   union packet_measurement_report_message_content_s_7_value{
+      packet_measurement_report_message_content_s_8 m_packet_measurement_report_message_content_s_8;
+      U8 psi3_change_mark;
+   }packet_measurement_report_message_content_s_7_value;
+   U8 pmo_used;
+}packet_measurement_report_message_content_s_6;
+
+typedef enum {
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_10_NULL,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_10_BIT,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_11
+}packet_measurement_report_message_content_s_10_enum;
+
+typedef struct packet_measurement_report_message_content_s_10_bit{
+   U16 numElements_packet_measurement_report_message_content_s_10_bit;
+   U8 * packet_measurement_report_message_content_s_10_bit;
+}packet_measurement_report_message_content_s_10_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_13_NULL,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_13_BIT,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_14
+}packet_measurement_report_message_content_s_13_enum;
+
+typedef struct packet_measurement_report_message_content_s_13_bit{
+   U16 numElements_packet_measurement_report_message_content_s_13_bit;
+   U8 * packet_measurement_report_message_content_s_13_bit;
+}packet_measurement_report_message_content_s_13_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_16_NULL,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_16_BIT,
+   PACKET_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_17
+}packet_measurement_report_message_content_s_16_enum;
+
+typedef struct packet_measurement_report_message_content_s_16_bit{
+   U16 numElements_packet_measurement_report_message_content_s_16_bit;
+   U8 * packet_measurement_report_message_content_s_16_bit;
+}packet_measurement_report_message_content_s_16_bit;
+
+typedef struct packet_measurement_report_message_content_s_17{
+   ispresent packet_measurement_report_message_content_s_18_tag;
+   union packet_measurement_report_message_content_s_18_value{
+      utran_csg_measurement_report_ie utran_csg_measurement_report;
+   }packet_measurement_report_message_content_s_18_value;
+   ispresent packet_measurement_report_message_content_s_19_tag;
+   union packet_measurement_report_message_content_s_19_value{
+      e_utran_csg_measurement_report_ie e_utran_csg_measurement_report;
+   }packet_measurement_report_message_content_s_19_value;
+}packet_measurement_report_message_content_s_17;
+
+typedef struct packet_measurement_report_message_content_s_14{
+   ispresent packet_measurement_report_message_content_s_15_tag;
+   union packet_measurement_report_message_content_s_15_value{
+      e_utran_measurement_report_struct e_utran_measurement_report;
+   }packet_measurement_report_message_content_s_15_value;
+   packet_measurement_report_message_content_s_16_enum packet_measurement_report_message_content_s_16_tag;
+   union packet_measurement_report_message_content_s_16_value{
+      packet_measurement_report_message_content_s_16_bit m_packet_measurement_report_message_content_s_16_bit;
+      packet_measurement_report_message_content_s_17 m_packet_measurement_report_message_content_s_17;
+   }packet_measurement_report_message_content_s_16_value;
+}packet_measurement_report_message_content_s_14;
+
+typedef struct packet_measurement_report_message_content_s_11{
+   ispresent packet_measurement_report_message_content_s_12_tag;
+   union packet_measurement_report_message_content_s_12_value{
+      U8 g_rnti_extension;
+   }packet_measurement_report_message_content_s_12_value;
+   packet_measurement_report_message_content_s_13_enum packet_measurement_report_message_content_s_13_tag;
+   union packet_measurement_report_message_content_s_13_value{
+      packet_measurement_report_message_content_s_13_bit m_packet_measurement_report_message_content_s_13_bit;
+      packet_measurement_report_message_content_s_14 m_packet_measurement_report_message_content_s_14;
+   }packet_measurement_report_message_content_s_13_value;
+}packet_measurement_report_message_content_s_11;
+
+typedef struct packet_measurement_report_message_content_s_4{
+   ispresent packet_measurement_report_message_content_s_5_tag;
+   union packet_measurement_report_message_content_s_5_value{
+      packet_measurement_report_message_content_s_6 m_packet_measurement_report_message_content_s_6;
+   }packet_measurement_report_message_content_s_5_value;
+   ispresent packet_measurement_report_message_content_s_9_tag;
+   union packet_measurement_report_message_content_s_9_value{
+      p_3_g_measurement_report_struct p_3_g_measurement_report;
+   }packet_measurement_report_message_content_s_9_value;
+   packet_measurement_report_message_content_s_10_enum packet_measurement_report_message_content_s_10_tag;
+   union packet_measurement_report_message_content_s_10_value{
+      packet_measurement_report_message_content_s_10_bit m_packet_measurement_report_message_content_s_10_bit;
+      packet_measurement_report_message_content_s_11 m_packet_measurement_report_message_content_s_11;
+   }packet_measurement_report_message_content_s_10_value;
+}packet_measurement_report_message_content_s_4;
+
+/* SEQUENCE packet measurement report message content */
+typedef struct packet_measurement_report_message_content{
+   uplink_header_struct header;
+   U32 tlli___g_rnti;
+   ispresent packet_measurement_report_message_content_s_1_tag;
+   union packet_measurement_report_message_content_s_1_value{
+      U8 psi5_change_mark;
+   }packet_measurement_report_message_content_s_1_value;
+   packet_measurement_report_message_content_s_2_enum packet_measurement_report_message_content_s_2_tag;
+   union packet_measurement_report_message_content_s_2_value{
+      nc_measurement_report_struct nc_measurement_report;
+      ext_measurement_report_struct ext_measurement_report;
+   }packet_measurement_report_message_content_s_2_value;
+   packet_measurement_report_message_content_s_3_enum packet_measurement_report_message_content_s_3_tag;
+   union packet_measurement_report_message_content_s_3_value{
+      packet_measurement_report_message_content_s_3_bit m_packet_measurement_report_message_content_s_3_bit;
+      packet_measurement_report_message_content_s_4 m_packet_measurement_report_message_content_s_4;
+   }packet_measurement_report_message_content_s_3_value;
+}packet_measurement_report_message_content;
+
+/* SEQUENCE packet mobile tbf status message content */
+typedef struct packet_mobile_tbf_status_message_content{
+   uplink_header_struct header;
+   global_tfi_ie global_tfi;
+   U8 tbf_cause;
+   ispresent packet_mobile_tbf_status_message_content_s_1_tag;
+   union packet_mobile_tbf_status_message_content_s_1_value{
+      U8 status_message_type;
+   }packet_mobile_tbf_status_message_content_s_1_value;
+}packet_mobile_tbf_status_message_content;
+
+typedef enum {
+   PACKET_PSI_STATUS_MESSAGE_CONTENT_S_1_NULL,
+   PACKET_PSI_STATUS_MESSAGE_CONTENT_S_1_BIT,
+   PACKET_PSI_STATUS_MESSAGE_CONTENT_S_2
+}packet_psi_status_message_content_s_1_enum;
+
+typedef struct packet_psi_status_message_content_s_1_bit{
+   U16 numElements_packet_psi_status_message_content_s_1_bit;
+   U8 * packet_psi_status_message_content_s_1_bit;
+}packet_psi_status_message_content_s_1_bit;
+
+typedef struct packet_psi_status_message_content_s_2{
+   U8 ps_rel_req;
+}packet_psi_status_message_content_s_2;
+
+/* SEQUENCE packet psi status message content */
+typedef struct packet_psi_status_message_content{
+   uplink_header_struct header;
+   global_tfi_ie global_tfi;
+   U8 pbcch_change_mark;
+   psi_message_list_struct received_psi_message_list;
+   unknown_psi_message_list_struct received_unknown_psi_message_list;
+   packet_psi_status_message_content_s_1_enum packet_psi_status_message_content_s_1_tag;
+   union packet_psi_status_message_content_s_1_value{
+      packet_psi_status_message_content_s_1_bit m_packet_psi_status_message_content_s_1_bit;
+      packet_psi_status_message_content_s_2 m_packet_psi_status_message_content_s_2;
+   }packet_psi_status_message_content_s_1_value;
+}packet_psi_status_message_content;
+
+typedef enum {
+   PACKET_SI_STATUS_MESSAGE_CONTENT_S_1_NULL,
+   PACKET_SI_STATUS_MESSAGE_CONTENT_S_1_BIT,
+   PACKET_SI_STATUS_MESSAGE_CONTENT_S_2
+}packet_si_status_message_content_s_1_enum;
+
+typedef struct packet_si_status_message_content_s_1_bit{
+   U16 numElements_packet_si_status_message_content_s_1_bit;
+   U8 * packet_si_status_message_content_s_1_bit;
+}packet_si_status_message_content_s_1_bit;
+
+typedef struct packet_si_status_message_content_s_2{
+   U8 pscsi_support;
+   U8 ps_rel_req;
+}packet_si_status_message_content_s_2;
+
+/* SEQUENCE packet si status message content */
+typedef struct packet_si_status_message_content{
+   uplink_header_struct header;
+   global_tfi_ie global_tfi;
+   U8 bcch_change_mark;
+   si_message_list_struct received_si_message_list;
+   unknown_si_message_list_struct received_unknown_si_message_list;
+   packet_si_status_message_content_s_1_enum packet_si_status_message_content_s_1_tag;
+   union packet_si_status_message_content_s_1_value{
+      packet_si_status_message_content_s_1_bit m_packet_si_status_message_content_s_1_bit;
+      packet_si_status_message_content_s_2 m_packet_si_status_message_content_s_2;
+   }packet_si_status_message_content_s_1_value;
+}packet_si_status_message_content;
+
+/* SEQUENCE packet pause message content */
+typedef struct packet_pause_message_content{
+   uplink_header_struct header;
+   U32 tlli;
+   U16 numElements_rai;
+   U8 * rai;
+}packet_pause_message_content;
+
+typedef enum {
+   ADDITIONAL_MS_RADIO_ACCESS_CAPABILITIES_MESSAGE_CONTENT_GLOBAL_TFI,
+   TLLI
+}additional_ms_radio_access_capabilities_message_content_s_1_enum;
+
+/* SEQUENCE additional ms radio access capabilities message content */
+typedef struct additional_ms_radio_access_capabilities_message_content{
+   uplink_header_struct header;
+   additional_ms_radio_access_capabilities_message_content_s_1_enum additional_ms_radio_access_capabilities_message_content_s_1_tag;
+   union additional_ms_radio_access_capabilities_message_content_s_1_value{
+      global_tfi_ie global_tfi;
+      U32 tlli;
+   }additional_ms_radio_access_capabilities_message_content_s_1_value;
+   struct ms_ra_capability_value_part_struct * ms_radio_access_capability_2;
+}additional_ms_radio_access_capabilities_message_content;
+
+/* SEQUENCE egprs timeslot link quality measurements ie */
+typedef struct egprs_timeslot_link_quality_measurements_ie{
+   ispresent egprs_timeslot_link_quality_measurements_ie_s_1_tag;
+   union egprs_timeslot_link_quality_measurements_ie_s_1_value{
+      bep_measurement_report_struct bep_measurements;
+   }egprs_timeslot_link_quality_measurements_ie_s_1_value;
+   ispresent egprs_timeslot_link_quality_measurements_ie_s_2_tag;
+   union egprs_timeslot_link_quality_measurements_ie_s_2_value{
+      interference_measurement_report_struct interference_measurements;
+   }egprs_timeslot_link_quality_measurements_ie_s_2_value;
+}egprs_timeslot_link_quality_measurements_ie;
+
+typedef enum {
+   NC_MEASUREMENT_REPORT_STRUCT_EN_S_2,
+   NC_MEASUREMENT_REPORT_STRUCT_EN_PSI3_CHANGE_MARK
+}nc_measurement_report_struct_en_s_1_enum;
+
+typedef struct nc_measurement_report_struct_en_s_2{
+   U8 ba_used;
+   U8 p_3_g_ba_used;
+}nc_measurement_report_struct_en_s_2;
+
+typedef struct nc_measurement_report_struct_en_s_6{
+   ispresent nc_measurement_report_struct_en_s_6_tag;
+   union nc_measurement_report_struct_en_s_6_value{
+      U8 reporting_quantity;
+   }nc_measurement_report_struct_en_s_6_value;
+}nc_measurement_report_struct_en_s_6;
+
+typedef struct _nc_measurement_report_struct_en_s_6{
+   U16 numElements_m_nc_measurement_report_struct_en_s_6;
+   nc_measurement_report_struct_en_s_6 * m_nc_measurement_report_struct_en_s_6;
+}_nc_measurement_report_struct_en_s_6;
+
+/* SEQUENCE nc measurement report struct en */
+typedef struct nc_measurement_report_struct_en{
+   U8 nc_mode;
+   nc_measurement_report_struct_en_s_1_enum nc_measurement_report_struct_en_s_1_tag;
+   union nc_measurement_report_struct_en_s_1_value{
+      nc_measurement_report_struct_en_s_2 m_nc_measurement_report_struct_en_s_2;
+      U8 psi3_change_mark;
+   }nc_measurement_report_struct_en_s_1_value;
+   U8 pmo_used;
+   U8 bsic_seen;
+   U8 scale;
+   ispresent nc_measurement_report_struct_en_s_3_tag;
+   union nc_measurement_report_struct_en_s_3_value{
+      serving_cell_data_struct_1 serving_cell_data;
+   }nc_measurement_report_struct_en_s_3_value;
+   U16 numElements_repeated_invalid_bsic_information;
+   repeated_invalid_bsic_information_struct * repeated_invalid_bsic_information;
+   ispresent nc_measurement_report_struct_en_s_5_tag;
+   union nc_measurement_report_struct_en_s_5_value{
+      _nc_measurement_report_struct_en_s_6 m_nc_measurement_report_struct_en_s_6;
+   }nc_measurement_report_struct_en_s_5_value;
+}nc_measurement_report_struct_en;
+
+/* SEQUENCE additional access technologies list */
+typedef struct additional_access_technologies_list{
+   U16 numElements_additional_access_technologies;
+   additional_access_technologies_struct * additional_access_technologies;
+}additional_access_technologies_list;
+
+typedef struct content_s_8{
+   U8 extended_dtm_gprs_multi_slot_class;
+   U8 extended_dtm_egprs_multi_slot_class;
+}content_s_8;
+
+typedef struct content_s_14{
+   U8 dtm_gprs_high_multi_slot_class;
+   ispresent content_s_15_tag;
+   union content_s_15_value{
+      U8 dtm_egprs_high_multi_slot_class;
+   }content_s_15_value;
+}content_s_14;
+
+/* SEQUENCE content */
+typedef struct content{
+   Bool is_content_s_1_present; //truncation or optional 
+   U8 rf_power_capability;
+   ispresent content_s_2_tag;
+   union content_s_2_value{
+      a5_bits a5_bits;
+   }content_s_2_value;
+   U8 es_ind;
+   U8 ps;
+   U8 vgcs;
+   U8 vbs;
+   ispresent content_s_3_tag;
+   union content_s_3_value{
+      multislot_capability_struct multislot_capability;
+   }content_s_3_value;
+   Bool is_content_s_4_present; //truncation or optional 
+   ispresent content_s_5_tag;
+   union content_s_5_value{
+      U8 p_8_psk_power_capability;
+   }content_s_5_value;
+   U8 compact_interference_measurement_capability;
+   U8 revision_level_indicator;
+   U8 umts_fdd_radio_access_technology_capability;
+   U8 umts_3__84_mcps_tdd_radio_access_technology_capability;
+   U8 cdma_2000_radio_access_technology_capability;
+   Bool is_content_s_6_present; //truncation or optional 
+   U8 umts_1__28_mcps_tdd_radio_access_technology_capability;
+   U8 geran_feature_package_1;
+   ispresent content_s_7_tag;
+   union content_s_7_value{
+      content_s_8 m_content_s_8;
+   }content_s_7_value;
+   U8 modulation_based_multislot_class_support;
+   Bool is_content_s_9_present; //truncation or optional 
+   ispresent content_s_10_tag;
+   union content_s_10_value{
+      U8 high_multislot_capability;
+   }content_s_10_value;
+   ispresent content_s_11_tag;
+   union content_s_11_value{
+      geran_iu_mode_capabilities m_geran_iu_mode_capabilities;
+   }content_s_11_value;
+   U8 gmsk_multislot_power_profile;
+   U8 p_8__psk_multislot_power_profile;
+   Bool is_content_s_12_present; //truncation or optional 
+   U8 multiple_tbf_capability;
+   U8 downlink_advanced_receiver_performance;
+   U8 extended_rlc_mac_control_message_segmentation_capability;
+   U8 dtm_enhancements_capability;
+   ispresent content_s_13_tag;
+   union content_s_13_value{
+      content_s_14 m_content_s_14;
+   }content_s_13_value;
+   U8 ps_handover_capability;
+}content;
+
+typedef struct ms_network_capability_value_part_s_1{
+   Bool is_lcs_va_capability_present; //truncation or optional 
+   U8 lcs_va_capability;
+   Bool is_ps_inter_rat_ho_to_utran_iu_mode_capability_present; //truncation or optional 
+   U8 ps_inter_rat_ho_to_utran_iu_mode_capability;
+}ms_network_capability_value_part_s_1;
+
+/* SEQUENCE ms network capability value part */
+typedef struct ms_network_capability_value_part{
+   gea1_bits m_gea1_bits;
+   U8 sm_capabilities_via_dedicated_channels;
+   U8 sm_capabilities_via_gprs_channels;
+   U8 ucs2_support;
+   U8 ss_screening_indicator;
+   U8 solsa_capability;
+   U8 revision_level_indicator;
+   U8 pfc_feature_mode;
+   extended_gea_bits m_extended_gea_bits;
+   ms_network_capability_value_part_s_1 m_ms_network_capability_value_part_s_1; //truncation ;
+}ms_network_capability_value_part;
+
+/* SEQUENCE ctrl_blk_hdr_struct1 */
+typedef struct ctrl_blk_hdr_struct1{
+   U8 rrbp;
+   U8 s_or_p;
+   U8 usf;
+   U8 rbsn;
+   U8 rti;
+   U8 fs;
+   ispresent third_octet_choice_tag;
+   union third_octet_choice_value{
+      third_octet_struct1 pthird_octet_choice;
+   }third_octet_choice_value;
+}ctrl_blk_hdr_struct1;
+
+/* SEQUENCE 3 g neighbour cell description struct mi */
+typedef struct p_3_g_neighbour_cell_description_struct_mi{
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_1_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_1_value{
+      U8 p_3_g_wait;
+   }p_3_g_neighbour_cell_description_struct_mi_s_1_value;
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_2_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_2_value{
+      U8 index_start_3g;
+   }p_3_g_neighbour_cell_description_struct_mi_s_2_value;
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_3_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_3_value{
+      U8 absolute_index_start_emr;
+   }p_3_g_neighbour_cell_description_struct_mi_s_3_value;
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_4_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_4_value{
+      utran_fdd_description_struct_mi utran_fdd_description;
+   }p_3_g_neighbour_cell_description_struct_mi_s_4_value;
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_5_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_5_value{
+      utran_tdd_description_struct_mi utran_tdd_description;
+   }p_3_g_neighbour_cell_description_struct_mi_s_5_value;
+   ispresent p_3_g_neighbour_cell_description_struct_mi_s_6_tag;
+   union p_3_g_neighbour_cell_description_struct_mi_s_6_value{
+      cdma_2000_description_struct_mi cdma_2000_description;
+   }p_3_g_neighbour_cell_description_struct_mi_s_6_value;
+}p_3_g_neighbour_cell_description_struct_mi;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_3{
+   U8 e_utran_fdd_reporting_threshold;
+   U8 e_utran_fdd_reporting_threshold_2;
+}e_utran_measurement_parameters_description_struct_s_3;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_5{
+   U8 e_utran_tdd_reporting_threshold;
+   U8 e_utran_tdd_reporting_threshold_2;
+}e_utran_measurement_parameters_description_struct_s_5;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_7{
+   U8 e_utran_measurement_report_offset;
+   U8 reporting_granularity;
+}e_utran_measurement_parameters_description_struct_s_7;
+
+/* SEQUENCE e-utran measurement parameters description struct */
+typedef struct e_utran_measurement_parameters_description_struct{
+   U8 e_utran_ba_ind;
+   U8 qsearch_c_e_utran;
+   U8 e_utran_start;
+   U8 e_utran_stop;
+   U8 e_utran_rep_quant;
+   ispresent e_utran_measurement_parameters_description_struct_s_1_tag;
+   union e_utran_measurement_parameters_description_struct_s_1_value{
+      U8 e_utran_multirat_reporting;
+   }e_utran_measurement_parameters_description_struct_s_1_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_2_tag;
+   union e_utran_measurement_parameters_description_struct_s_2_value{
+      e_utran_measurement_parameters_description_struct_s_3 m_e_utran_measurement_parameters_description_struct_s_3;
+   }e_utran_measurement_parameters_description_struct_s_2_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_4_tag;
+   union e_utran_measurement_parameters_description_struct_s_4_value{
+      e_utran_measurement_parameters_description_struct_s_5 m_e_utran_measurement_parameters_description_struct_s_5;
+   }e_utran_measurement_parameters_description_struct_s_4_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_6_tag;
+   union e_utran_measurement_parameters_description_struct_s_6_value{
+      e_utran_measurement_parameters_description_struct_s_7 m_e_utran_measurement_parameters_description_struct_s_7;
+   }e_utran_measurement_parameters_description_struct_s_6_value;
+   U16 numElements_repeated_e_utran_neighbour_cells;
+   repeated_e_utran_neighbour_cells_struct * repeated_e_utran_neighbour_cells;
+}e_utran_measurement_parameters_description_struct;
+
+/* SEQUENCE gas_meas_results_struct */
+typedef struct gas_meas_results_struct{
+   gas_meas_content_struct meas_content;
+}gas_meas_results_struct;
+
+/* SEQUENCE handover_complete_mesg_struct */
+typedef struct handover_complete_mesg_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   handover_complete_type_struct mesg_type;
+   gas_rr_cause_struct rr_cause;
+   Bool is_otd_present; //truncation or optional 
+   gas_otd_struct otd;
+}handover_complete_mesg_struct;
+
+/* SEQUENCE paging_response */
+typedef struct paging_response{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   paging_response_type_struct mesg_type;
+   gas_spare_bit_struct spare_bit;
+   gas_ciphering_key_sn_struct ciphering_key_sn;
+   gas_ms_classmark_struct ms_classmark;
+   gas_mobile_identity_struct mobile_identity1;
+   Bool is_additional_parameter_struct_present;
+   gas_additional_update_parameter_struct additional_update_parameter;
+}paging_response;
+
+/* SEQUENCE csn_paging_request_type1 */
+typedef struct csn_paging_request_type1{
+   gas_l2_pseudo_length_struct l2pseudo_length;
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   paging_request_struct mesg_type;
+   gas_channels_needed_struct channels_needed;
+   gas_page_mode_struct page_mode;
+   gas_mobile_identity_struct mobile_identity1;
+   Bool is_mobile_identity2_present; //truncation or optional 
+   gas_mobile_identity2_struct mobile_identity2;
+   gas_p1_rest_octets_struct p1rest_octets;
+}csn_paging_request_type1;
+
+typedef enum {
+   ARFCN1,
+   FREQUENCY_PARAMETERS_IE_INDIRECT_ENCODING,
+   FREQUENCY_PARAMETERS_IE_DIRECT_ENCODING_1,
+   FREQUENCY_PARAMETERS_IE_DIRECT_ENCODING_2
+}frequency_parameters_ie_s_1_enum;
+
+/* SEQUENCE frequency parameters ie */
+typedef struct frequency_parameters_ie{
+   U8 tsc;
+   frequency_parameters_ie_s_1_enum frequency_parameters_ie_s_1_tag;
+   union frequency_parameters_ie_s_1_value{
+      U16 arfcn1;
+      indirect_encoding_struct indirect_encoding;
+      direct_encoding_1_struct direct_encoding_1;
+      direct_encoding_2_struct direct_encoding_2;
+   }frequency_parameters_ie_s_1_value;
+}frequency_parameters_ie;
+
+/* SEQUENCE 3 g neighbour cell description struct */
+typedef struct p_3_g_neighbour_cell_description_struct{
+   ispresent p_3_g_neighbour_cell_description_struct_s_1_tag;
+   union p_3_g_neighbour_cell_description_struct_s_1_value{
+      U8 index_start_3g;
+   }p_3_g_neighbour_cell_description_struct_s_1_value;
+   ispresent p_3_g_neighbour_cell_description_struct_s_2_tag;
+   union p_3_g_neighbour_cell_description_struct_s_2_value{
+      U8 absolute_index_start_emr;
+   }p_3_g_neighbour_cell_description_struct_s_2_value;
+   ispresent p_3_g_neighbour_cell_description_struct_s_3_tag;
+   union p_3_g_neighbour_cell_description_struct_s_3_value{
+      utran_fdd_description_struct utran_fdd_description;
+   }p_3_g_neighbour_cell_description_struct_s_3_value;
+   ispresent p_3_g_neighbour_cell_description_struct_s_4_tag;
+   union p_3_g_neighbour_cell_description_struct_s_4_value{
+      utran_tdd_description_struct utran_tdd_description;
+   }p_3_g_neighbour_cell_description_struct_s_4_value;
+   ispresent p_3_g_neighbour_cell_description_struct_s_5_tag;
+   union p_3_g_neighbour_cell_description_struct_s_5_value{
+      cdma2000_description_struct cdma2000_description;
+   }p_3_g_neighbour_cell_description_struct_s_5_value;
+   ispresent p_3_g_neighbour_cell_description_struct_s_6_tag;
+   union p_3_g_neighbour_cell_description_struct_s_6_value{
+      removed_3gcell_description_struct removed_3gcell_description;
+   }p_3_g_neighbour_cell_description_struct_s_6_value;
+}p_3_g_neighbour_cell_description_struct;
+
+typedef struct iu_mode_neighbour_cell_params_struct_s_2{
+   ispresent iu_mode_neighbour_cell_params_struct_s_2_tag;
+   union iu_mode_neighbour_cell_params_struct_s_2_value{
+      iu_mode_cell_selection_struct_1 iu_mode_cell_selection_params;
+   }iu_mode_neighbour_cell_params_struct_s_2_value;
+}iu_mode_neighbour_cell_params_struct_s_2;
+
+/* SEQUENCE iu mode neighbour cell params struct */
+typedef struct iu_mode_neighbour_cell_params_struct{
+   ispresent iu_mode_neighbour_cell_params_struct_s_1_tag;
+   union iu_mode_neighbour_cell_params_struct_s_1_value{
+      iu_mode_cell_selection_struct_1 iu_mode_cell_selection_params;
+   }iu_mode_neighbour_cell_params_struct_s_1_value;
+   U8 nr_of_frequencies;
+   U16 numElements_m_iu_mode_neighbour_cell_params_struct_s_2;
+   iu_mode_neighbour_cell_params_struct_s_2 * m_iu_mode_neighbour_cell_params_struct_s_2;
+}iu_mode_neighbour_cell_params_struct;
+
+typedef struct add_iu_mode_only_cell_list_struct_s_2{
+   U16 numElements_frequency_diff;
+   U8 * frequency_diff;
+   U8 bsic;
+   ispresent add_iu_mode_only_cell_list_struct_s_3_tag;
+   union add_iu_mode_only_cell_list_struct_s_3_value{
+      iu_mode_only_cell_selection_struct_1 cell_selection_params;
+   }add_iu_mode_only_cell_list_struct_s_3_value;
+}add_iu_mode_only_cell_list_struct_s_2;
+
+/* SEQUENCE add iu mode only cell list struct */
+typedef struct add_iu_mode_only_cell_list_struct{
+   U16 start_frequency;
+   U8 bsic;
+   ispresent add_iu_mode_only_cell_list_struct_s_1_tag;
+   union add_iu_mode_only_cell_list_struct_s_1_value{
+      iu_mode_only_cell_selection_struct_1 cell_selection_params;
+   }add_iu_mode_only_cell_list_struct_s_1_value;
+   U8 nr_of_frequencies;
+   U8 freq_diff_length;
+   U16 numElements_m_add_iu_mode_only_cell_list_struct_s_2;
+   add_iu_mode_only_cell_list_struct_s_2 * m_add_iu_mode_only_cell_list_struct_s_2;
+}add_iu_mode_only_cell_list_struct;
+
+typedef enum {
+   UPLINK_TIMESLOT_ALLOCATION,
+   POWER_CONTROL_PARAMETERS
+}fixed_allocation_struct_2_s_1_enum;
+
+typedef struct fixed_allocation_struct_2_s_3{
+   U8 p0;
+   U8 bts_pwr_ctrl_mode;
+   U8 pr_mode;
+}fixed_allocation_struct_2_s_3;
+
+typedef enum {
+   FIXED_ALLOCATION_STRUCT_2_S_8,
+   ALLOCATION_BITMAP_1
+}fixed_allocation_struct_2_s_7_enum;
+
+typedef struct fixed_allocation_struct_2_s_8{
+   U8 blocks_or_block_periods;
+   U8 allocation_bitmap_length;
+   U16 numElements_allocation_bitmap;
+   U8 * allocation_bitmap;
+}fixed_allocation_struct_2_s_8;
+
+typedef struct allocation_bitmap_1{
+   U16 numElements_allocation_bitmap_1;
+   U8 * allocation_bitmap_1;
+}allocation_bitmap_1;
+
+/* SEQUENCE fixed allocation struct 2 */
+typedef struct fixed_allocation_struct_2{
+   fixed_allocation_struct_2_s_1_enum fixed_allocation_struct_2_s_1_tag;
+   union fixed_allocation_struct_2_s_1_value{
+      U8 uplink_timeslot_allocation;
+      power_control_parameters_ie power_control_parameters;
+   }fixed_allocation_struct_2_s_1_value;
+   U8 final_allocation;
+   U8 downlink_control_timeslot;
+   ispresent fixed_allocation_struct_2_s_2_tag;
+   union fixed_allocation_struct_2_s_2_value{
+      fixed_allocation_struct_2_s_3 m_fixed_allocation_struct_2_s_3;
+   }fixed_allocation_struct_2_s_2_value;
+   ispresent fixed_allocation_struct_2_s_4_tag;
+   union fixed_allocation_struct_2_s_4_value{
+      measurement_mapping_struct measurement_mapping;
+   }fixed_allocation_struct_2_s_4_value;
+   starting_frame_number_description_ie tbf_starting_time;
+   fixed_allocation_struct_2_s_7_enum fixed_allocation_struct_2_s_7_tag;
+   union fixed_allocation_struct_2_s_7_value{
+      fixed_allocation_struct_2_s_8 m_fixed_allocation_struct_2_s_8;
+      allocation_bitmap_1 m_allocation_bitmap_1;
+   }fixed_allocation_struct_2_s_7_value;
+}fixed_allocation_struct_2;
+
+typedef enum {
+   PBCCH_DESCRIPTION_STRUCT_2_S_1_NULL,
+   PBCCH_DESCRIPTION_STRUCT_2_S_1_BIT,
+   PSI_CHANGED_IND
+}pbcch_description_struct_2_s_1_enum;
+
+typedef struct pbcch_description_struct_2_s_1_bit{
+   U16 numElements_pbcch_description_struct_2_s_1_bit;
+   U8 * pbcch_description_struct_2_s_1_bit;
+}pbcch_description_struct_2_s_1_bit;
+
+/* SEQUENCE pbcch description struct 2 */
+typedef struct pbcch_description_struct_2{
+   U8 psi1_repeat_period;
+   U8 pb;
+   U8 tn;
+   frequency_parameters_ie pbcch_frequency_description;
+   pbcch_description_struct_2_s_1_enum pbcch_description_struct_2_s_1_tag;
+   union pbcch_description_struct_2_s_1_value{
+      pbcch_description_struct_2_s_1_bit m_pbcch_description_struct_2_s_1_bit;
+      U8 psi_changed_ind;
+   }pbcch_description_struct_2_s_1_value;
+}pbcch_description_struct_2;
+
+/* SEQUENCE cbch channel description struct */
+typedef struct cbch_channel_description_struct{
+   U8 channel_type_tdma_offset;
+   U8 tn;
+   frequency_parameters_ie frequency_parameters;
+}cbch_channel_description_struct;
+
+/* SEQUENCE compact information struct */
+typedef struct compact_information_struct{
+   cell_identification_ie cell_identification;
+   U16 numElements_m_compact_neighbour_cell_params_struct;
+   compact_neighbour_cell_params_struct * m_compact_neighbour_cell_params_struct;
+}compact_information_struct;
+
+typedef enum {
+   NON_HOPPING_PCCCH_CARRIERS,
+   PCCCH_DESCRIPTION_STRUCT_1_S_2
+}pccch_description_struct_1_s_1_enum;
+
+typedef struct pccch_description_struct_1_s_2{
+   U8 ma_number;
+   hopping_pccch_carriers_lists_struct hopping_pccch_carriers;
+}pccch_description_struct_1_s_2;
+
+/* SEQUENCE pccch description struct 1 */
+typedef struct pccch_description_struct_1{
+   U8 tsc;
+   pccch_description_struct_1_s_1_enum pccch_description_struct_1_s_1_tag;
+   union pccch_description_struct_1_s_1_value{
+      non_hopping_pccch_carriers_lists_struct non_hopping_pccch_carriers;
+      pccch_description_struct_1_s_2 m_pccch_description_struct_1_s_2;
+   }pccch_description_struct_1_s_1_value;
+}pccch_description_struct_1;
+
+typedef enum {
+   EXT_REPORTING_TYPE_1,
+   NCC_PERMITTED,
+   EM1_STRUCT_S_3,
+   EM1_STRUCT_EXT_REPORTING_TYPE_1
+}em1_struct_s_2_enum;
+
+typedef struct em1_struct_s_3{
+   ispresent em1_struct_s_3_tag;
+   union em1_struct_s_3_value{
+      U8 int_frequency;
+   }em1_struct_s_3_value;
+}em1_struct_s_3;
+
+typedef struct em1_struct_s_2{
+   em1_struct_s_2_enum em1_struct_s_2_tag;
+   U8 ext_reporting_type_1;
+   union em1_struct_s_2_value{
+      U8 ncc_permitted;
+      em1_struct_s_3 m_em1_struct_s_3;
+   }em1_struct_s_2_value;
+}em1_struct_s_2;
+
+/* SEQUENCE em1 struct */
+typedef struct em1_struct{
+   ispresent em1_struct_s_1_tag;
+   union em1_struct_s_1_value{
+      em1_struct_s_2 m_em1_struct_s_2;
+   }em1_struct_s_1_value;
+   ispresent em1_struct_s_4_tag;
+   union em1_struct_s_4_value{
+      U8 ext_reporting_period;
+   }em1_struct_s_4_value;
+   ext_frequency_list_description_struct ext_frequency_list;
+}em1_struct;
+
+typedef struct nc_frequency_list_struct_s_2{
+   U8 nr_of_removed_freq;
+   U16 numElements_removed_freq_index;
+   U8 * removed_freq_index;
+}nc_frequency_list_struct_s_2;
+
+/* SEQUENCE nc frequency list struct */
+typedef struct nc_frequency_list_struct{
+   ispresent nc_frequency_list_struct_s_1_tag;
+   union nc_frequency_list_struct_s_1_value{
+      nc_frequency_list_struct_s_2 m_nc_frequency_list_struct_s_2;
+   }nc_frequency_list_struct_s_1_value;
+   U16 numElements_list_of_added_frequency;
+   add_frequency_list_struct * list_of_added_frequency;
+}nc_frequency_list_struct;
+
+typedef struct ps_handover_radio_resources_ie_s_6{
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent ps_handover_radio_resources_ie_s_7_tag;
+   union ps_handover_radio_resources_ie_s_7_value{
+      U8 packet_extended_timing_advance;
+   }ps_handover_radio_resources_ie_s_7_value;
+}ps_handover_radio_resources_ie_s_6;
+
+typedef struct ps_handover_radio_resources_ie_s_9{
+   U8 p0;
+   U8 pr_mode;
+}ps_handover_radio_resources_ie_s_9;
+
+typedef enum {
+   GPRS_MODE,
+   EGPRS_MODE
+}ps_handover_radio_resources_ie_s_11_enum;
+
+/* SEQUENCE ps handover radio resources ie */
+typedef struct ps_handover_radio_resources_ie{
+   ispresent ps_handover_radio_resources_ie_s_1_tag;
+   union ps_handover_radio_resources_ie_s_1_value{
+      U8 handover_reference;
+   }ps_handover_radio_resources_ie_s_1_value;
+   U16 arfcn;
+   U8 si;
+   U8 nci;
+   U8 bsic;
+   ispresent ps_handover_radio_resources_ie_s_2_tag;
+   union ps_handover_radio_resources_ie_s_2_value{
+      U8 ccn_active;
+   }ps_handover_radio_resources_ie_s_2_value;
+   ispresent ps_handover_radio_resources_ie_s_3_tag;
+   union ps_handover_radio_resources_ie_s_3_value{
+      U8 p_3_g_ccn_active;
+   }ps_handover_radio_resources_ie_s_3_value;
+   ispresent ps_handover_radio_resources_ie_s_4_tag;
+   union ps_handover_radio_resources_ie_s_4_value{
+      ccn_support_description_struct ccn_support_description;
+   }ps_handover_radio_resources_ie_s_4_value;
+   frequency_parameters_ie frequency_parameters;
+   U8 network_control_order;
+   ispresent ps_handover_radio_resources_ie_s_5_tag;
+   union ps_handover_radio_resources_ie_s_5_value{
+      ps_handover_radio_resources_ie_s_6 m_ps_handover_radio_resources_ie_s_6;
+   }ps_handover_radio_resources_ie_s_5_value;
+   U8 extended_dynamic_allocation;
+   U8 rlc_reset;
+   ispresent ps_handover_radio_resources_ie_s_8_tag;
+   union ps_handover_radio_resources_ie_s_8_value{
+      ps_handover_radio_resources_ie_s_9 m_ps_handover_radio_resources_ie_s_9;
+   }ps_handover_radio_resources_ie_s_8_value;
+   ispresent ps_handover_radio_resources_ie_s_10_tag;
+   union ps_handover_radio_resources_ie_s_10_value{
+      U8 uplink_control_timeslot;
+   }ps_handover_radio_resources_ie_s_10_value;
+   ps_handover_radio_resources_ie_s_11_enum ps_handover_radio_resources_ie_s_11_tag;
+   union ps_handover_radio_resources_ie_s_11_value{
+      gprs_mode_struct gprs_mode;
+      egprs_mode_struct egprs_mode;
+   }ps_handover_radio_resources_ie_s_11_value;
+}ps_handover_radio_resources_ie;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_6{
+   dual_carrier_timeslot_description_struct dual_carrier_global_timeslot_description;
+   multiple_uplink_assignment_2_struct_in_ps_ho_rr_2 multiple_uplink_assignment;
+}egprs_mode_struct_in_ps_ho_rr_2_s_6;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_11{
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_12_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_12_value{
+      egprs_window_size_ie egprs_window_size;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_12_value;
+   U8 link_quality_measurement_mode;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_13_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_13_value{
+      U8 bep_period2;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_13_value;
+}egprs_mode_struct_in_ps_ho_rr_2_s_11;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_15{
+   U8 fanr;
+   U16 numElements_btti_multiple_downlink_assignment;
+   btti_multiple_downlink_assignment_struct_2 * btti_multiple_downlink_assignment;
+}egprs_mode_struct_in_ps_ho_rr_2_s_15;
+
+typedef enum {
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_S_19,
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_S_23
+}egprs_mode_struct_in_ps_ho_rr_2_s_18_enum;
+
+typedef enum {
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_CONCAT_00,
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_CONCAT_01,
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_S_21
+}egprs_mode_struct_in_ps_ho_rr_2_s_20_enum;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_21{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}egprs_mode_struct_in_ps_ho_rr_2_s_21;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_19{
+   egprs_mode_struct_in_ps_ho_rr_2_s_20_enum egprs_mode_struct_in_ps_ho_rr_2_s_20_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_20_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_21 m_egprs_mode_struct_in_ps_ho_rr_2_s_21;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_20_value;
+   U16 numElements_rtti_multiple_downlink_assignment_sc;
+   rtti_multiple_downlink_assignment_sc_struct_2 * rtti_multiple_downlink_assignment_sc;
+}egprs_mode_struct_in_ps_ho_rr_2_s_19;
+
+typedef enum {
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_CONCAT_001,
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_CONCAT_011,
+   EGPRS_MODE_STRUCT_IN_PS_HO_RR_2_S_25
+}egprs_mode_struct_in_ps_ho_rr_2_s_24_enum;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_25{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}egprs_mode_struct_in_ps_ho_rr_2_s_25;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_23{
+   egprs_mode_struct_in_ps_ho_rr_2_s_24_enum egprs_mode_struct_in_ps_ho_rr_2_s_24_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_24_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_25 m_egprs_mode_struct_in_ps_ho_rr_2_s_25;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_24_value;
+   U16 numElements_rtti_multiple_downlink_assignment_dc;
+   rtti_multiple_downlink_assignment_dc_struct_2 * rtti_multiple_downlink_assignment_dc;
+}egprs_mode_struct_in_ps_ho_rr_2_s_23;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_18{
+   egprs_mode_struct_in_ps_ho_rr_2_s_18_enum egprs_mode_struct_in_ps_ho_rr_2_s_18_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_18_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_19 m_egprs_mode_struct_in_ps_ho_rr_2_s_19;
+      egprs_mode_struct_in_ps_ho_rr_2_s_23 m_egprs_mode_struct_in_ps_ho_rr_2_s_23;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_18_value;
+}egprs_mode_struct_in_ps_ho_rr_2_s_18;
+
+typedef struct egprs_mode_struct_in_ps_ho_rr_2_s_9{
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_10_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_10_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_11 m_egprs_mode_struct_in_ps_ho_rr_2_s_11;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_10_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_14_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_14_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_15 m_egprs_mode_struct_in_ps_ho_rr_2_s_15;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_14_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_17_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_17_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_18 m_egprs_mode_struct_in_ps_ho_rr_2_s_18;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_17_value;
+}egprs_mode_struct_in_ps_ho_rr_2_s_9;
+
+/* SEQUENCE egprs mode struct in ps ho rr 2 */
+typedef struct egprs_mode_struct_in_ps_ho_rr_2{
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_2_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_2_value{
+      egprs_window_size_ie egprs_window_size;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_2_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_3_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_3_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_3_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_4_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_4_value{
+      U8 bep_period2;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_4_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_5_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_5_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_6 m_egprs_mode_struct_in_ps_ho_rr_2_s_6;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_5_value;
+   ispresent egprs_mode_struct_in_ps_ho_rr_2_s_8_tag;
+   union egprs_mode_struct_in_ps_ho_rr_2_s_8_value{
+      egprs_mode_struct_in_ps_ho_rr_2_s_9 m_egprs_mode_struct_in_ps_ho_rr_2_s_9;
+   }egprs_mode_struct_in_ps_ho_rr_2_s_8_value;
+}egprs_mode_struct_in_ps_ho_rr_2;
+
+typedef enum {
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_2_NULL,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_2_BIT,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_3
+}packet_enhanced_measurement_report_message_content_s_2_enum;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_2_bit{
+   U16 numElements_packet_enhanced_measurement_report_message_content_s_2_bit;
+   U8 * packet_enhanced_measurement_report_message_content_s_2_bit;
+}packet_enhanced_measurement_report_message_content_s_2_bit;
+
+typedef enum {
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_5_NULL,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_5_BIT,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_6
+}packet_enhanced_measurement_report_message_content_s_5_enum;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_5_bit{
+   U16 numElements_packet_enhanced_measurement_report_message_content_s_5_bit;
+   U8 * packet_enhanced_measurement_report_message_content_s_5_bit;
+}packet_enhanced_measurement_report_message_content_s_5_bit;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_7{
+   ispresent packet_enhanced_measurement_report_message_content_s_7_tag;
+   union packet_enhanced_measurement_report_message_content_s_7_value{
+      U8 reporting_quantity;
+   }packet_enhanced_measurement_report_message_content_s_7_value;
+}packet_enhanced_measurement_report_message_content_s_7;
+
+typedef enum {
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_9_NULL,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_9_BIT,
+   PACKET_ENHANCED_MEASUREMENT_REPORT_MESSAGE_CONTENT_S_10
+}packet_enhanced_measurement_report_message_content_s_9_enum;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_9_bit{
+   U16 numElements_packet_enhanced_measurement_report_message_content_s_9_bit;
+   U8 * packet_enhanced_measurement_report_message_content_s_9_bit;
+}packet_enhanced_measurement_report_message_content_s_9_bit;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_10{
+   ispresent packet_enhanced_measurement_report_message_content_s_11_tag;
+   union packet_enhanced_measurement_report_message_content_s_11_value{
+      utran_csg_measurement_report_ie utran_csg_measurement_report;
+   }packet_enhanced_measurement_report_message_content_s_11_value;
+   ispresent packet_enhanced_measurement_report_message_content_s_12_tag;
+   union packet_enhanced_measurement_report_message_content_s_12_value{
+      e_utran_csg_measurement_report_ie e_utran_csg_measurement_report;
+   }packet_enhanced_measurement_report_message_content_s_12_value;
+}packet_enhanced_measurement_report_message_content_s_10;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_6{
+   U8 bitmap_length;
+   U16 numElements_m_packet_enhanced_measurement_report_message_content_s_7;
+   packet_enhanced_measurement_report_message_content_s_7 * m_packet_enhanced_measurement_report_message_content_s_7;
+   ispresent packet_enhanced_measurement_report_message_content_s_8_tag;
+   union packet_enhanced_measurement_report_message_content_s_8_value{
+      e_utran_measurement_report_struct e_utran_measurement_report;
+   }packet_enhanced_measurement_report_message_content_s_8_value;
+   packet_enhanced_measurement_report_message_content_s_9_enum packet_enhanced_measurement_report_message_content_s_9_tag;
+   union packet_enhanced_measurement_report_message_content_s_9_value{
+      packet_enhanced_measurement_report_message_content_s_9_bit m_packet_enhanced_measurement_report_message_content_s_9_bit;
+      packet_enhanced_measurement_report_message_content_s_10 m_packet_enhanced_measurement_report_message_content_s_10;
+   }packet_enhanced_measurement_report_message_content_s_9_value;
+}packet_enhanced_measurement_report_message_content_s_6;
+
+typedef struct packet_enhanced_measurement_report_message_content_s_3{
+   ispresent packet_enhanced_measurement_report_message_content_s_4_tag;
+   union packet_enhanced_measurement_report_message_content_s_4_value{
+      U8 g_rnti_extension;
+   }packet_enhanced_measurement_report_message_content_s_4_value;
+   packet_enhanced_measurement_report_message_content_s_5_enum packet_enhanced_measurement_report_message_content_s_5_tag;
+   union packet_enhanced_measurement_report_message_content_s_5_value{
+      packet_enhanced_measurement_report_message_content_s_5_bit m_packet_enhanced_measurement_report_message_content_s_5_bit;
+      packet_enhanced_measurement_report_message_content_s_6 m_packet_enhanced_measurement_report_message_content_s_6;
+   }packet_enhanced_measurement_report_message_content_s_5_value;
+}packet_enhanced_measurement_report_message_content_s_3;
+
+/* SEQUENCE packet enhanced measurement report message content */
+typedef struct packet_enhanced_measurement_report_message_content{
+   uplink_header_struct header;
+   U32 tlli___g_rnti;
+   nc_measurement_report_struct_en nc_measurement_report;
+   packet_enhanced_measurement_report_message_content_s_2_enum packet_enhanced_measurement_report_message_content_s_2_tag;
+   union packet_enhanced_measurement_report_message_content_s_2_value{
+      packet_enhanced_measurement_report_message_content_s_2_bit m_packet_enhanced_measurement_report_message_content_s_2_bit;
+      packet_enhanced_measurement_report_message_content_s_3 m_packet_enhanced_measurement_report_message_content_s_3;
+   }packet_enhanced_measurement_report_message_content_s_2_value;
+}packet_enhanced_measurement_report_message_content;
+
+typedef enum {
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_GLOBAL_TFI,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_TLLI___G_RNTI
+}packet_resource_request_message_content_s_2_enum;
+
+typedef enum {
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_14_NULL,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_14_BIT,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_15
+}packet_resource_request_message_content_s_14_enum;
+
+typedef struct packet_resource_request_message_content_s_14_bit{
+   U16 numElements_packet_resource_request_message_content_s_14_bit;
+   U8 * packet_resource_request_message_content_s_14_bit;
+}packet_resource_request_message_content_s_14_bit;
+
+typedef enum {
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_19_NULL,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_19_BIT,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_20
+}packet_resource_request_message_content_s_19_enum;
+
+typedef struct packet_resource_request_message_content_s_19_bit{
+   U16 numElements_packet_resource_request_message_content_s_19_bit;
+   U8 * packet_resource_request_message_content_s_19_bit;
+}packet_resource_request_message_content_s_19_bit;
+
+typedef struct packet_resource_request_message_content_s_22{
+   ispresent packet_resource_request_message_content_s_23_tag;
+   union packet_resource_request_message_content_s_23_value{
+      U8 g_rnti_extension;
+   }packet_resource_request_message_content_s_23_value;
+   struct iu_mode_channel_request_description_ie * iu_mode_channel_request_description;
+}packet_resource_request_message_content_s_22;
+
+typedef enum {
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_25_NULL,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_25_BIT,
+   PACKET_RESOURCE_REQUEST_MESSAGE_CONTENT_S_26
+}packet_resource_request_message_content_s_25_enum;
+
+typedef struct packet_resource_request_message_content_s_25_bit{
+   U16 numElements_packet_resource_request_message_content_s_25_bit;
+   U8 * packet_resource_request_message_content_s_25_bit;
+}packet_resource_request_message_content_s_25_bit;
+
+typedef struct packet_resource_request_message_content_s_26{
+   ispresent packet_resource_request_message_content_s_27_tag;
+   union packet_resource_request_message_content_s_27_value{
+      struct extended_channel_request_description_ie * extended_channel_request_description;
+   }packet_resource_request_message_content_s_27_value;
+}packet_resource_request_message_content_s_26;
+
+typedef struct packet_resource_request_message_content_s_20{
+   ispresent packet_resource_request_message_content_s_21_tag;
+   union packet_resource_request_message_content_s_21_value{
+      packet_resource_request_message_content_s_22 m_packet_resource_request_message_content_s_22;
+   }packet_resource_request_message_content_s_21_value;
+   ispresent packet_resource_request_message_content_s_24_tag;
+   union packet_resource_request_message_content_s_24_value{
+      U8 hfn_lsb;
+   }packet_resource_request_message_content_s_24_value;
+   packet_resource_request_message_content_s_25_enum packet_resource_request_message_content_s_25_tag;
+   union packet_resource_request_message_content_s_25_value{
+      packet_resource_request_message_content_s_25_bit m_packet_resource_request_message_content_s_25_bit;
+      packet_resource_request_message_content_s_26 m_packet_resource_request_message_content_s_26;
+   }packet_resource_request_message_content_s_25_value;
+}packet_resource_request_message_content_s_20;
+
+typedef struct packet_resource_request_message_content_s_15{
+   ispresent packet_resource_request_message_content_s_16_tag;
+   union packet_resource_request_message_content_s_16_value{
+      egprs_bep_link_quality_measurements_ie egprs_bep_link_quality_measurements;
+   }packet_resource_request_message_content_s_16_value;
+   ispresent packet_resource_request_message_content_s_17_tag;
+   union packet_resource_request_message_content_s_17_value{
+      egprs_timeslot_link_quality_measurements_ie egprs_timeslot_link_quality_measurements;
+   }packet_resource_request_message_content_s_17_value;
+   ispresent packet_resource_request_message_content_s_18_tag;
+   union packet_resource_request_message_content_s_18_value{
+      U8 pfi;
+   }packet_resource_request_message_content_s_18_value;
+   U8 additional_ms_rac_information_available;
+   U8 retransmission_of_prr;
+   packet_resource_request_message_content_s_19_enum packet_resource_request_message_content_s_19_tag;
+   union packet_resource_request_message_content_s_19_value{
+      packet_resource_request_message_content_s_19_bit m_packet_resource_request_message_content_s_19_bit;
+      packet_resource_request_message_content_s_20 m_packet_resource_request_message_content_s_20;
+   }packet_resource_request_message_content_s_19_value;
+}packet_resource_request_message_content_s_15;
+
+/* SEQUENCE packet resource request message content */
+typedef struct packet_resource_request_message_content{
+   uplink_header_struct header;
+   ispresent packet_resource_request_message_content_s_1_tag;
+   union packet_resource_request_message_content_s_1_value{
+      U8 access_type;
+   }packet_resource_request_message_content_s_1_value;
+   packet_resource_request_message_content_s_2_enum packet_resource_request_message_content_s_2_tag;
+   union packet_resource_request_message_content_s_2_value{
+      global_tfi_ie global_tfi;
+      tlli___g_rnti_ie tlli___g_rnti;
+   }packet_resource_request_message_content_s_2_value;
+   ispresent packet_resource_request_message_content_s_3_tag;
+   union packet_resource_request_message_content_s_3_value{
+      struct ms_ra_capability_value_part_struct * ms_radio_access_capability_2;
+   }packet_resource_request_message_content_s_3_value;
+   channel_request_description_ie channel_request_description;
+   ispresent packet_resource_request_message_content_s_4_tag;
+   union packet_resource_request_message_content_s_4_value{
+      U8 change_mark;
+   }packet_resource_request_message_content_s_4_value;
+   U8 c_value;
+   ispresent packet_resource_request_message_content_s_5_tag;
+   union packet_resource_request_message_content_s_5_value{
+      U8 sign_var;
+   }packet_resource_request_message_content_s_5_value;
+   ispresent packet_resource_request_message_content_s_6_tag;
+   union packet_resource_request_message_content_s_6_value{
+      U8 i_level_tn0;
+   }packet_resource_request_message_content_s_6_value;
+   ispresent packet_resource_request_message_content_s_7_tag;
+   union packet_resource_request_message_content_s_7_value{
+      U8 i_level_tn1;
+   }packet_resource_request_message_content_s_7_value;
+   ispresent packet_resource_request_message_content_s_8_tag;
+   union packet_resource_request_message_content_s_8_value{
+      U8 i_level_tn2;
+   }packet_resource_request_message_content_s_8_value;
+   ispresent packet_resource_request_message_content_s_9_tag;
+   union packet_resource_request_message_content_s_9_value{
+      U8 i_level_tn3;
+   }packet_resource_request_message_content_s_9_value;
+   ispresent packet_resource_request_message_content_s_10_tag;
+   union packet_resource_request_message_content_s_10_value{
+      U8 i_level_tn4;
+   }packet_resource_request_message_content_s_10_value;
+   ispresent packet_resource_request_message_content_s_11_tag;
+   union packet_resource_request_message_content_s_11_value{
+      U8 i_level_tn5;
+   }packet_resource_request_message_content_s_11_value;
+   ispresent packet_resource_request_message_content_s_12_tag;
+   union packet_resource_request_message_content_s_12_value{
+      U8 i_level_tn6;
+   }packet_resource_request_message_content_s_12_value;
+   ispresent packet_resource_request_message_content_s_13_tag;
+   union packet_resource_request_message_content_s_13_value{
+      U8 i_level_tn7;
+   }packet_resource_request_message_content_s_13_value;
+   packet_resource_request_message_content_s_14_enum packet_resource_request_message_content_s_14_tag;
+   union packet_resource_request_message_content_s_14_value{
+      packet_resource_request_message_content_s_14_bit m_packet_resource_request_message_content_s_14_bit;
+      packet_resource_request_message_content_s_15 m_packet_resource_request_message_content_s_15;
+   }packet_resource_request_message_content_s_14_value;
+}packet_resource_request_message_content;
+
+/* SEQUENCE egprs channel quality report ie */
+typedef struct egprs_channel_quality_report_ie{
+   egprs_bep_link_quality_measurements_ie egprs_bep_link_quality_measurements;
+   U8 c_value;
+   egprs_timeslot_link_quality_measurements_ie egprs_timeslot_link_quality_measurements;
+}egprs_channel_quality_report_ie;
+
+/* SEQUENCE access capabilities struct */
+typedef struct access_capabilities_struct{
+   U8 length;
+   content m_content;
+}access_capabilities_struct;
+
+typedef enum {
+   DATA_BLK_HDR,
+   CTRL_BLK_HDR1,
+   CTRL_BLK_HDR2
+}pay_load_enum;
+
+/* SEQUENCE header_struct1 */
+typedef struct header_struct1{
+   pay_load_enum pay_load_tag;
+   union pay_load_value{
+      data_blk_hdr_struct1 data_blk_hdr;
+      data_blk_hdr_struct1 ctrl_blk_hdr1;
+      ctrl_blk_hdr_struct1 ctrl_blk_hdr2;
+   }pay_load_value;
+}header_struct1;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+/* SEQUENCE measurement_report_struct */
+typedef struct measurement_report_struct{
+   gas_skip_indicator_struct skip_ind;
+   gas_protocol_disc_struct proto_disc;
+   measurement_report_type_struct mesg_type;
+   gas_meas_results_struct measurement_results;
+}measurement_report_struct;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_4,
+   S_23
+}packet_timeslot_reconfigure_message_content_s_3_enum;
+
+typedef enum {
+   DYNAMIC_ALLOCATION,
+   FIXED_ALLOCATION
+}packet_timeslot_reconfigure_message_content_s_9_enum;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_10_NULL,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_10_BIT,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_11
+}packet_timeslot_reconfigure_message_content_s_10_enum;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_10_bit{
+   U16 numElements_packet_timeslot_reconfigure_message_content_s_10_bit;
+   U8 * packet_timeslot_reconfigure_message_content_s_10_bit;
+}packet_timeslot_reconfigure_message_content_s_10_bit;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_13_NULL,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_13_BIT,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_14
+}packet_timeslot_reconfigure_message_content_s_13_enum;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_13_bit{
+   U16 numElements_packet_timeslot_reconfigure_message_content_s_13_bit;
+   U8 * packet_timeslot_reconfigure_message_content_s_13_bit;
+}packet_timeslot_reconfigure_message_content_s_13_bit;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_16{
+   U8 rb_id_of_downlink_tbf;
+   U8 rb_id_of_uplink_tbf;
+}packet_timeslot_reconfigure_message_content_s_16;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_18_NULL,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_18_BIT,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_19
+}packet_timeslot_reconfigure_message_content_s_18_enum;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_18_bit{
+   U16 numElements_packet_timeslot_reconfigure_message_content_s_18_bit;
+   U8 * packet_timeslot_reconfigure_message_content_s_18_bit;
+}packet_timeslot_reconfigure_message_content_s_18_bit;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_19{
+   ispresent packet_timeslot_reconfigure_message_content_s_20_tag;
+   union packet_timeslot_reconfigure_message_content_s_20_value{
+      U8 pfi_of_downlink_tbf;
+   }packet_timeslot_reconfigure_message_content_s_20_value;
+   ispresent packet_timeslot_reconfigure_message_content_s_21_tag;
+   union packet_timeslot_reconfigure_message_content_s_21_value{
+      U8 pfi_of_uplink_tbf;
+   }packet_timeslot_reconfigure_message_content_s_21_value;
+   ispresent s_22_tag;
+   union s_22_value{
+      U8 uplink_rlc_mode;
+   }s_22_value;
+}packet_timeslot_reconfigure_message_content_s_19;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_14{
+   ispresent packet_timeslot_reconfigure_message_content_s_15_tag;
+   union packet_timeslot_reconfigure_message_content_s_15_value{
+      packet_timeslot_reconfigure_message_content_s_16 m_packet_timeslot_reconfigure_message_content_s_16;
+   }packet_timeslot_reconfigure_message_content_s_15_value;
+   ispresent packet_timeslot_reconfigure_message_content_s_17_tag;
+   union packet_timeslot_reconfigure_message_content_s_17_value{
+      U8 uplink_control_timeslot;
+   }packet_timeslot_reconfigure_message_content_s_17_value;
+   packet_timeslot_reconfigure_message_content_s_18_enum packet_timeslot_reconfigure_message_content_s_18_tag;
+   union packet_timeslot_reconfigure_message_content_s_18_value{
+      packet_timeslot_reconfigure_message_content_s_18_bit m_packet_timeslot_reconfigure_message_content_s_18_bit;
+      packet_timeslot_reconfigure_message_content_s_19 m_packet_timeslot_reconfigure_message_content_s_19;
+   }packet_timeslot_reconfigure_message_content_s_18_value;
+}packet_timeslot_reconfigure_message_content_s_14;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_11{
+   ispresent packet_timeslot_reconfigure_message_content_s_12_tag;
+   union packet_timeslot_reconfigure_message_content_s_12_value{
+      U8 packet_extended_timing_advance;
+   }packet_timeslot_reconfigure_message_content_s_12_value;
+   packet_timeslot_reconfigure_message_content_s_13_enum packet_timeslot_reconfigure_message_content_s_13_tag;
+   union packet_timeslot_reconfigure_message_content_s_13_value{
+      packet_timeslot_reconfigure_message_content_s_13_bit m_packet_timeslot_reconfigure_message_content_s_13_bit;
+      packet_timeslot_reconfigure_message_content_s_14 m_packet_timeslot_reconfigure_message_content_s_14;
+   }packet_timeslot_reconfigure_message_content_s_13_value;
+}packet_timeslot_reconfigure_message_content_s_11;
+
+typedef struct packet_timeslot_reconfigure_message_content_s_5{
+   U8 channel_coding_command;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   U8 downlink_rlc_mode;
+   U8 control_ack;
+   ispresent packet_timeslot_reconfigure_message_content_s_6_tag;
+   union packet_timeslot_reconfigure_message_content_s_6_value{
+      U8 downlink_tfi_assignment;
+   }packet_timeslot_reconfigure_message_content_s_6_value;
+   ispresent packet_timeslot_reconfigure_message_content_s_7_tag;
+   union packet_timeslot_reconfigure_message_content_s_7_value{
+      U8 uplink_tfi_assignment;
+   }packet_timeslot_reconfigure_message_content_s_7_value;
+   U8 downlink_timeslot_allocation;
+   ispresent packet_timeslot_reconfigure_message_content_s_8_tag;
+   union packet_timeslot_reconfigure_message_content_s_8_value{
+      frequency_parameters_ie frequency_parameters;
+   }packet_timeslot_reconfigure_message_content_s_8_value;
+   packet_timeslot_reconfigure_message_content_s_9_enum packet_timeslot_reconfigure_message_content_s_9_tag;
+   union packet_timeslot_reconfigure_message_content_s_9_value{
+      dynamic_allocation_in_ptr_struct dynamic_allocation;
+      fixed_allocation_struct_2 fixed_allocation;
+   }packet_timeslot_reconfigure_message_content_s_9_value;
+   packet_timeslot_reconfigure_message_content_s_10_enum packet_timeslot_reconfigure_message_content_s_10_tag;
+   union packet_timeslot_reconfigure_message_content_s_10_value{
+      packet_timeslot_reconfigure_message_content_s_10_bit m_packet_timeslot_reconfigure_message_content_s_10_bit;
+      packet_timeslot_reconfigure_message_content_s_11 m_packet_timeslot_reconfigure_message_content_s_11;
+   }packet_timeslot_reconfigure_message_content_s_10_value;
+}packet_timeslot_reconfigure_message_content_s_5;
+
+typedef enum {
+   S_24,
+   S_48
+}s_23_enum;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_DYNAMIC_ALLOCATION,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_FIXED_ALLOCATION
+}s_33_enum;
+
+typedef enum {
+   S_34_NULL,
+   S_34_BIT,
+   S_35
+}s_34_enum;
+
+typedef struct s_34_bit{
+   U16 numElements_s_34_bit;
+   U8 * s_34_bit;
+}s_34_bit;
+
+typedef struct s_37{
+   U8 rb_id_of_downlink_tbf;
+   U8 rb_id_of_uplink_tbf;
+}s_37;
+
+typedef enum {
+   S_39_NULL,
+   S_39_BIT,
+   S_40
+}s_39_enum;
+
+typedef struct s_39_bit{
+   U16 numElements_s_39_bit;
+   U8 * s_39_bit;
+}s_39_bit;
+
+typedef enum {
+   S_44_NULL,
+   S_44_BIT,
+   S_45
+}s_44_enum;
+
+typedef struct s_44_bit{
+   U16 numElements_s_44_bit;
+   U8 * s_44_bit;
+}s_44_bit;
+
+typedef struct s_45{
+   ispresent s_46_tag;
+   union s_46_value{
+      U8 downlink_npm_transfer_time;
+   }s_46_value;
+   ispresent s_47_tag;
+   union s_47_value{
+      U8 uplink_npm_transfer_time;
+   }s_47_value;
+}s_45;
+
+typedef struct s_40{
+   ispresent s_41_tag;
+   union s_41_value{
+      U8 pfi_of_downlink_tbf;
+   }s_41_value;
+   ispresent s_42_tag;
+   union s_42_value{
+      U8 pfi_of_uplink_tbf;
+   }s_42_value;
+   ispresent s_43_tag;
+   union s_43_value{
+      U8 uplink_rlc_mode;
+   }s_43_value;
+   s_44_enum s_44_tag;
+   union s_44_value{
+      s_44_bit m_s_44_bit;
+      s_45 m_s_45;
+   }s_44_value;
+}s_40;
+
+typedef struct s_35{
+   ispresent s_36_tag;
+   union s_36_value{
+      s_37 m_s_37;
+   }s_36_value;
+   ispresent s_38_tag;
+   union s_38_value{
+      U8 uplink_control_timeslot;
+   }s_38_value;
+   s_39_enum s_39_tag;
+   union s_39_value{
+      s_39_bit m_s_39_bit;
+      s_40 m_s_40;
+   }s_39_value;
+}s_35;
+
+typedef struct s_25{
+   ispresent s_26_tag;
+   union s_26_value{
+      compact_reduced_ma_ie compact_reduced_ma;
+   }s_26_value;
+   U8 egprs_channel_coding_command;
+   U8 resegment;
+   ispresent s_27_tag;
+   union s_27_value{
+      U8 downlink_egprs_window_size;
+   }s_27_value;
+   ispresent s_28_tag;
+   union s_28_value{
+      U8 uplink_egprs_window_size;
+   }s_28_value;
+   U8 link_quality_measurement_mode;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent s_29_tag;
+   union s_29_value{
+      U8 packet_extended_timing_advance;
+   }s_29_value;
+   U8 downlink_rlc_mode;
+   U8 control_ack;
+   ispresent s_30_tag;
+   union s_30_value{
+      U8 downlink_tfi_assignment;
+   }s_30_value;
+   ispresent s_31_tag;
+   union s_31_value{
+      U8 uplink_tfi_assignment;
+   }s_31_value;
+   U8 downlink_timeslot_allocation;
+   ispresent s_32_tag;
+   union s_32_value{
+      frequency_parameters_ie frequency_parameters;
+   }s_32_value;
+   s_33_enum s_33_tag;
+   union s_33_value{
+      dynamic_allocation_in_ptr_struct dynamic_allocation;
+      fixed_allocation_struct_2 fixed_allocation;
+   }s_33_value;
+   s_34_enum s_34_tag;
+   union s_34_value{
+      s_34_bit m_s_34_bit;
+      s_35 m_s_35;
+   }s_34_value;
+}s_25;
+
+typedef enum {
+   S_56,
+   S_58
+}s_55_enum;
+
+typedef struct s_56{
+   U8 timeslot_allocation_c1;
+   ispresent s_57_tag;
+   union s_57_value{
+      U8 timeslot_allocation_c2;
+   }s_57_value;
+}s_56;
+
+typedef enum {
+   S_60,
+   S_63
+}s_59_enum;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_00,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_01,
+   S_62
+}s_61_enum;
+
+typedef struct s_62{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}s_62;
+
+typedef struct s_60{
+   s_61_enum s_61_tag;
+   union s_61_value{
+      s_62 m_s_62;
+   }s_61_value;
+   U8 rtti_downlink_pdch_pair_assignment_sc;
+}s_60;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_001,
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_011,
+   S_65
+}s_64_enum;
+
+typedef struct s_65{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}s_65;
+
+typedef struct s_63{
+   s_64_enum s_64_tag;
+   union s_64_value{
+      s_65 m_s_65;
+   }s_64_value;
+   U8 rtti_downlink_pdch_pair_assignment_dc;
+}s_63;
+
+typedef struct s_58{
+   U8 rtti_usf_mode;
+   s_59_enum s_59_tag;
+   union s_59_value{
+      s_60 m_s_60;
+      s_63 m_s_63;
+   }s_59_value;
+}s_58;
+
+typedef enum {
+   PACKET_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_002,
+   S_67,
+   DUAL_CARRIER_FREQUENCY_PARAMETERS
+}s_66_enum;
+
+typedef struct s_67{
+   ispresent s_68_tag;
+   union s_68_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }s_68_value;
+   ispresent s_69_tag;
+   union s_69_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }s_69_value;
+}s_67;
+
+typedef struct s_80{
+   U8 reported_timeslots_c1;
+   ispresent s_81_tag;
+   union s_81_value{
+      U8 reported_timeslots_c2;
+   }s_81_value;
+   U8 tsh;
+}s_80;
+
+typedef struct s_79{
+   ispresent s_79_tag;
+   union s_79_value{
+      s_80 m_s_80;
+   }s_79_value;
+}s_79;
+
+typedef struct s_49{
+   U8 egprs_channel_coding_command;
+   U8 resegment;
+   assignment_info_struct assignment_info;
+   ispresent s_50_tag;
+   union s_50_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }s_50_value;
+   ispresent s_51_tag;
+   union s_51_value{
+      egprs_window_size_ie uplink_egprs_window_size;
+   }s_51_value;
+   U8 link_quality_measurement_mode;
+   ispresent s_52_tag;
+   union s_52_value{
+      U8 bep_period2;
+   }s_52_value;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent s_53_tag;
+   union s_53_value{
+      U8 packet_extended_timing_advance;
+   }s_53_value;
+   U8 downlink_rlc_mode;
+   U8 control_ack;
+   ispresent s_54_tag;
+   union s_54_value{
+      U8 downlink_tfi_assignment;
+   }s_54_value;
+   s_55_enum s_55_tag;
+   union s_55_value{
+      s_56 m_s_56;
+      s_58 m_s_58;
+   }s_55_value;
+   s_66_enum s_66_tag;
+   union s_66_value{
+      s_67 m_s_67;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }s_66_value;
+   dynamic_allocation_2_struct dynamic_allocation_2;
+   ispresent s_70_tag;
+   union s_70_value{
+      U8 uplink_control_timeslot_c1;
+   }s_70_value;
+   ispresent s_71_tag;
+   union s_71_value{
+      U8 uplink_control_timeslot_c2;
+   }s_71_value;
+   ispresent s_72_tag;
+   union s_72_value{
+      U8 pfi_of_downlink_tbf;
+   }s_72_value;
+   ispresent s_73_tag;
+   union s_73_value{
+      U8 pfi_of_uplink_tbf;
+   }s_73_value;
+   ispresent s_74_tag;
+   union s_74_value{
+      U8 uplink_rlc_mode;
+   }s_74_value;
+   ispresent s_75_tag;
+   union s_75_value{
+      U8 downlink_npm_transfer_time;
+   }s_75_value;
+   ispresent s_76_tag;
+   union s_76_value{
+      U8 uplink_npm_transfer_time;
+   }s_76_value;
+   ispresent s_77_tag;
+   union s_77_value{
+      U8 event_based_fanr;
+   }s_77_value;
+   ispresent s_78_tag;
+   union s_78_value{
+      s_79 m_s_79;
+   }s_78_value;
+   egprs_level_ie uplink_egprs_level;
+   egprs_level_ie downlink_egprs_level;
+   ispresent s_82_tag;
+   union s_82_value{
+      pulse_format_ie pulse_format;
+   }s_82_value;
+}s_49;
+
+typedef struct s_23{
+   s_23_enum s_23_tag;
+   union s_23_value{
+      s_25 m_s_25;
+      s_49 m_s_49;
+   }s_23_value;
+}s_23;
+
+/* SEQUENCE packet timeslot reconfigure message content */
+typedef struct packet_timeslot_reconfigure_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   packet_timeslot_reconfigure_message_content_s_3_enum packet_timeslot_reconfigure_message_content_s_3_tag;
+   union packet_timeslot_reconfigure_message_content_s_3_value{
+      packet_timeslot_reconfigure_message_content_s_5 m_packet_timeslot_reconfigure_message_content_s_5;
+      s_23 m_s_23;
+   }packet_timeslot_reconfigure_message_content_s_3_value;
+}packet_timeslot_reconfigure_message_content;
+
+typedef enum {
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_4,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_18
+}packet_uplink_ack_nack_message_content_s_3_enum;
+
+typedef enum {
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_11_NULL,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_11_BIT,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_12
+}packet_uplink_ack_nack_message_content_s_11_enum;
+
+typedef struct packet_uplink_ack_nack_message_content_s_11_bit{
+   U16 numElements_packet_uplink_ack_nack_message_content_s_11_bit;
+   U8 * packet_uplink_ack_nack_message_content_s_11_bit;
+}packet_uplink_ack_nack_message_content_s_11_bit;
+
+typedef enum {
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_14_NULL,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_14_BIT,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_15
+}packet_uplink_ack_nack_message_content_s_14_enum;
+
+typedef struct packet_uplink_ack_nack_message_content_s_14_bit{
+   U16 numElements_packet_uplink_ack_nack_message_content_s_14_bit;
+   U8 * packet_uplink_ack_nack_message_content_s_14_bit;
+}packet_uplink_ack_nack_message_content_s_14_bit;
+
+typedef struct packet_uplink_ack_nack_message_content_s_15{
+   ispresent packet_uplink_ack_nack_message_content_s_16_tag;
+   union packet_uplink_ack_nack_message_content_s_16_value{
+      U8 contention_resolution_identifier_extension;
+   }packet_uplink_ack_nack_message_content_s_16_value;
+   ispresent packet_uplink_ack_nack_message_content_s_17_tag;
+   union packet_uplink_ack_nack_message_content_s_17_value{
+      U8 rb_id;
+   }packet_uplink_ack_nack_message_content_s_17_value;
+}packet_uplink_ack_nack_message_content_s_15;
+
+typedef struct packet_uplink_ack_nack_message_content_s_12{
+   ispresent packet_uplink_ack_nack_message_content_s_13_tag;
+   union packet_uplink_ack_nack_message_content_s_13_value{
+      U8 packet_extended_timing_advance;
+   }packet_uplink_ack_nack_message_content_s_13_value;
+   U8 tbf_est;
+   packet_uplink_ack_nack_message_content_s_14_enum packet_uplink_ack_nack_message_content_s_14_tag;
+   union packet_uplink_ack_nack_message_content_s_14_value{
+      packet_uplink_ack_nack_message_content_s_14_bit m_packet_uplink_ack_nack_message_content_s_14_bit;
+      packet_uplink_ack_nack_message_content_s_15 m_packet_uplink_ack_nack_message_content_s_15;
+   }packet_uplink_ack_nack_message_content_s_14_value;
+}packet_uplink_ack_nack_message_content_s_12;
+
+typedef struct packet_uplink_ack_nack_message_content_s_5{
+   U8 channel_coding_command;
+   ack_nack_description_ie ack_nack_description;
+   ispresent packet_uplink_ack_nack_message_content_s_6_tag;
+   union packet_uplink_ack_nack_message_content_s_6_value{
+      U32 contention_resolution_tlli;
+   }packet_uplink_ack_nack_message_content_s_6_value;
+   ispresent packet_uplink_ack_nack_message_content_s_7_tag;
+   union packet_uplink_ack_nack_message_content_s_7_value{
+      packet_timing_advance_ie packet_timing_advance;
+   }packet_uplink_ack_nack_message_content_s_7_value;
+   ispresent packet_uplink_ack_nack_message_content_s_8_tag;
+   union packet_uplink_ack_nack_message_content_s_8_value{
+      power_control_parameters_ie power_control_parameters;
+   }packet_uplink_ack_nack_message_content_s_8_value;
+   ispresent packet_uplink_ack_nack_message_content_s_9_tag;
+   union packet_uplink_ack_nack_message_content_s_9_value{
+      extension_bits_ie extension_bits;
+   }packet_uplink_ack_nack_message_content_s_9_value;
+   ispresent packet_uplink_ack_nack_message_content_s_10_tag;
+   union packet_uplink_ack_nack_message_content_s_10_value{
+      fixed_allocation_struct fixed_allocation_parameters;
+   }packet_uplink_ack_nack_message_content_s_10_value;
+   packet_uplink_ack_nack_message_content_s_11_enum packet_uplink_ack_nack_message_content_s_11_tag;
+   union packet_uplink_ack_nack_message_content_s_11_value{
+      packet_uplink_ack_nack_message_content_s_11_bit m_packet_uplink_ack_nack_message_content_s_11_bit;
+      packet_uplink_ack_nack_message_content_s_12 m_packet_uplink_ack_nack_message_content_s_12;
+   }packet_uplink_ack_nack_message_content_s_11_value;
+}packet_uplink_ack_nack_message_content_s_5;
+
+typedef struct packet_uplink_ack_nack_message_content_s_27{
+   Bool is_egprs_ack_nack_description_present; //truncation or optional 
+   egprs_ack_nack_description_ie egprs_ack_nack_description;
+   Bool is_packet_uplink_ack_nack_message_content_s_28_present; //truncation or optional 
+   ispresent packet_uplink_ack_nack_message_content_s_28_tag;
+   union packet_uplink_ack_nack_message_content_s_28_value{
+      fixed_allocation_struct fixed_allocation_parameters;
+   }packet_uplink_ack_nack_message_content_s_28_value;
+}packet_uplink_ack_nack_message_content_s_27;
+
+typedef enum {
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_29_NULL,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_29_BIT,
+   PACKET_UPLINK_ACK_NACK_MESSAGE_CONTENT_S_30
+}packet_uplink_ack_nack_message_content_s_29_enum;
+
+typedef struct packet_uplink_ack_nack_message_content_s_29_bit{
+   U16 numElements_packet_uplink_ack_nack_message_content_s_29_bit;
+   U8 * packet_uplink_ack_nack_message_content_s_29_bit;
+}packet_uplink_ack_nack_message_content_s_29_bit;
+
+typedef struct packet_uplink_ack_nack_message_content_s_30{
+   ispresent packet_uplink_ack_nack_message_content_s_31_tag;
+   union packet_uplink_ack_nack_message_content_s_31_value{
+      U8 contention_resolution_identifier_extension;
+   }packet_uplink_ack_nack_message_content_s_31_value;
+   ispresent packet_uplink_ack_nack_message_content_s_32_tag;
+   union packet_uplink_ack_nack_message_content_s_32_value{
+      U8 rb_id;
+   }packet_uplink_ack_nack_message_content_s_32_value;
+}packet_uplink_ack_nack_message_content_s_30;
+
+typedef struct packet_uplink_ack_nack_message_content_s_21{
+   U8 egprs_channel_coding_command;
+   U8 resegment;
+   U8 pre_emptive_transmission;
+   U8 prr_retransmission_request;
+   U8 arac_retransmission_request;
+   ispresent packet_uplink_ack_nack_message_content_s_22_tag;
+   union packet_uplink_ack_nack_message_content_s_22_value{
+      U32 contention_resolution_tlli;
+   }packet_uplink_ack_nack_message_content_s_22_value;
+   U8 tbf_est;
+   ispresent packet_uplink_ack_nack_message_content_s_23_tag;
+   union packet_uplink_ack_nack_message_content_s_23_value{
+      packet_timing_advance_ie packet_timing_advance;
+   }packet_uplink_ack_nack_message_content_s_23_value;
+   ispresent packet_uplink_ack_nack_message_content_s_24_tag;
+   union packet_uplink_ack_nack_message_content_s_24_value{
+      U8 packet_extended_timing_advance;
+   }packet_uplink_ack_nack_message_content_s_24_value;
+   ispresent packet_uplink_ack_nack_message_content_s_25_tag;
+   union packet_uplink_ack_nack_message_content_s_25_value{
+      power_control_parameters_ie power_control_parameters;
+   }packet_uplink_ack_nack_message_content_s_25_value;
+   ispresent packet_uplink_ack_nack_message_content_s_26_tag;
+   union packet_uplink_ack_nack_message_content_s_26_value{
+      extension_bits_ie extension_bits;
+   }packet_uplink_ack_nack_message_content_s_26_value;
+   packet_uplink_ack_nack_message_content_s_27 m_packet_uplink_ack_nack_message_content_s_27; //truncation ;
+   packet_uplink_ack_nack_message_content_s_29_enum packet_uplink_ack_nack_message_content_s_29_tag;
+   union packet_uplink_ack_nack_message_content_s_29_value{
+      packet_uplink_ack_nack_message_content_s_29_bit m_packet_uplink_ack_nack_message_content_s_29_bit;
+      packet_uplink_ack_nack_message_content_s_30 m_packet_uplink_ack_nack_message_content_s_30;
+   }packet_uplink_ack_nack_message_content_s_29_value;
+}packet_uplink_ack_nack_message_content_s_21;
+
+/* SEQUENCE packet uplink ack/nack message content */
+typedef struct packet_uplink_ack_nack_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 uplink_tfi;
+   packet_uplink_ack_nack_message_content_s_3_enum packet_uplink_ack_nack_message_content_s_3_tag;
+   union packet_uplink_ack_nack_message_content_s_3_value{
+      packet_uplink_ack_nack_message_content_s_5 m_packet_uplink_ack_nack_message_content_s_5;
+      packet_uplink_ack_nack_message_content_s_21 m_packet_uplink_ack_nack_message_content_s_21;
+   }packet_uplink_ack_nack_message_content_s_3_value;
+}packet_uplink_ack_nack_message_content;
+
+/* SEQUENCE packet tbf release message content */
+typedef struct packet_tbf_release_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   U8 uplink_release;
+   U8 downlink_release;
+   U8 tbf_release_cause;
+}packet_tbf_release_message_content;
+
+typedef struct psi16_message_content_s_1{
+   cn_domain_identity_ie cn_domain_identity;
+   cn_domain_specific_drx_cycle_length_coefficient_ie cn_domain_specific_drx_cycle_length_coefficient;
+}psi16_message_content_s_1;
+
+/* SEQUENCE psi16 message content */
+typedef struct psi16_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi16_change_mark;
+   U8 psi16_index;
+   U8 psi16_count;
+   gra_id_struct gra_id_list;
+   U8 iu_mode_nmo_support;
+   U8 cn_domain_list;
+   U16 numElements_m_psi16_message_content_s_1;
+   psi16_message_content_s_1 * m_psi16_message_content_s_1;
+   ispresent psi16_message_content_s_2_tag;
+   union psi16_message_content_s_2_value{
+      U16 p_3_g_lac;
+   }psi16_message_content_s_2_value;
+   ispresent psi16_message_content_s_3_tag;
+   union psi16_message_content_s_3_value{
+      U8 p_3_g_rac;
+   }psi16_message_content_s_3_value;
+   ispresent psi16_message_content_s_4_tag;
+   union psi16_message_content_s_4_value{
+      U8 gra_and_cell_update_timer;
+   }psi16_message_content_s_4_value;
+}psi16_message_content;
+
+/* SEQUENCE psi15 message content */
+typedef struct psi15_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent psi15_message_content_s_1_tag;
+   union psi15_message_content_s_1_value{
+      utran_frequency_list_description_struct utran_frequency_list;
+   }psi15_message_content_s_1_value;
+}psi15_message_content;
+
+typedef enum {
+   CCCH_ACCESS_INFORMATION,
+   PSI14_MESSAGE_CONTENT_S_2
+}psi14_message_content_s_1_enum;
+
+typedef struct psi14_message_content_s_2{
+   pbcch_description_struct_2 pbcch_description;
+}psi14_message_content_s_2;
+
+/* SEQUENCE psi14 message content */
+typedef struct psi14_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   psi14_message_content_s_1_enum psi14_message_content_s_1_tag;
+   union psi14_message_content_s_1_value{
+      ccch_access_information_struct ccch_access_information;
+      psi14_message_content_s_2 m_psi14_message_content_s_2;
+   }psi14_message_content_s_1_value;
+}psi14_message_content;
+
+typedef struct psi13_message_content_s_2{
+   U8 si13_change_mark;
+   gprs_mobile_allocation_ie gprs_mobile_allocation;
+}psi13_message_content_s_2;
+
+typedef enum {
+   PSI13_MESSAGE_CONTENT_S_4,
+   PSI13_MESSAGE_CONTENT_S_5
+}psi13_message_content_s_3_enum;
+
+typedef struct psi13_message_content_s_4{
+   U8 rac;
+   U8 spgc_ccch_sup;
+   U8 priority_access_thr;
+   U8 network_control_order;
+   gprs_cell_options_ie gprs_cell_options;
+   gprs_power_control_parameters_struct gprs_power_control_parameters;
+}psi13_message_content_s_4;
+
+typedef struct psi13_message_content_s_5{
+   U8 psi1_repeat_period;
+   pbcch_description_struct pbcch_description;
+}psi13_message_content_s_5;
+
+typedef enum {
+   PSI13_MESSAGE_CONTENT_S_6_NULL,
+   PSI13_MESSAGE_CONTENT_S_6_BIT,
+   PSI13_MESSAGE_CONTENT_S_7
+}psi13_message_content_s_6_enum;
+
+typedef struct psi13_message_content_s_6_bit{
+   U16 numElements_psi13_message_content_s_6_bit;
+   U8 * psi13_message_content_s_6_bit;
+}psi13_message_content_s_6_bit;
+
+typedef enum {
+   PSI13_MESSAGE_CONTENT_S_8_NULL,
+   PSI13_MESSAGE_CONTENT_S_8_BIT,
+   PSI13_MESSAGE_CONTENT_S_9
+}psi13_message_content_s_8_enum;
+
+typedef struct psi13_message_content_s_8_bit{
+   U16 numElements_psi13_message_content_s_8_bit;
+   U8 * psi13_message_content_s_8_bit;
+}psi13_message_content_s_8_bit;
+
+typedef enum {
+   PSI13_MESSAGE_CONTENT_S_10_NULL,
+   PSI13_MESSAGE_CONTENT_S_10_BIT,
+   PSI13_MESSAGE_CONTENT_S_11
+}psi13_message_content_s_10_enum;
+
+typedef struct psi13_message_content_s_10_bit{
+   U16 numElements_psi13_message_content_s_10_bit;
+   U8 * psi13_message_content_s_10_bit;
+}psi13_message_content_s_10_bit;
+
+typedef struct psi13_message_content_s_11{
+   ispresent psi13_message_content_s_12_tag;
+   union psi13_message_content_s_12_value{
+      U8 lb_ms_txpwr_max_cch;
+   }psi13_message_content_s_12_value;
+   U8 si2n_support;
+}psi13_message_content_s_11;
+
+typedef struct psi13_message_content_s_9{
+   U8 si_status_ind;
+   psi13_message_content_s_10_enum psi13_message_content_s_10_tag;
+   union psi13_message_content_s_10_value{
+      psi13_message_content_s_10_bit m_psi13_message_content_s_10_bit;
+      psi13_message_content_s_11 m_psi13_message_content_s_11;
+   }psi13_message_content_s_10_value;
+}psi13_message_content_s_9;
+
+typedef struct psi13_message_content_s_7{
+   U8 sgsnr;
+   psi13_message_content_s_8_enum psi13_message_content_s_8_tag;
+   union psi13_message_content_s_8_value{
+      psi13_message_content_s_8_bit m_psi13_message_content_s_8_bit;
+      psi13_message_content_s_9 m_psi13_message_content_s_9;
+   }psi13_message_content_s_8_value;
+}psi13_message_content_s_7;
+
+/* SEQUENCE psi13 message content */
+typedef struct psi13_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 bcch_change_mark;
+   U8 si_change_field;
+   ispresent psi13_message_content_s_1_tag;
+   union psi13_message_content_s_1_value{
+      psi13_message_content_s_2 m_psi13_message_content_s_2;
+   }psi13_message_content_s_1_value;
+   psi13_message_content_s_3_enum psi13_message_content_s_3_tag;
+   union psi13_message_content_s_3_value{
+      psi13_message_content_s_4 m_psi13_message_content_s_4;
+      psi13_message_content_s_5 m_psi13_message_content_s_5;
+   }psi13_message_content_s_3_value;
+   psi13_message_content_s_6_enum psi13_message_content_s_6_tag;
+   union psi13_message_content_s_6_value{
+      psi13_message_content_s_6_bit m_psi13_message_content_s_6_bit;
+      psi13_message_content_s_7 m_psi13_message_content_s_7;
+   }psi13_message_content_s_6_value;
+}psi13_message_content;
+
+typedef enum {
+   PSI8_MESSAGE_CONTENT_S_2_NULL,
+   PSI8_MESSAGE_CONTENT_S_2_BIT,
+   PSI8_MESSAGE_CONTENT_S_3
+}psi8_message_content_s_2_enum;
+
+typedef struct psi8_message_content_s_2_bit{
+   U16 numElements_psi8_message_content_s_2_bit;
+   U8 * psi8_message_content_s_2_bit;
+}psi8_message_content_s_2_bit;
+
+typedef struct psi8_message_content_s_3{
+   ispresent psi8_message_content_s_4_tag;
+   union psi8_message_content_s_4_value{
+      dynamic_arfcn_mapping_description_struct dynamic_arfcn_mapping_description;
+   }psi8_message_content_s_4_value;
+}psi8_message_content_s_3;
+
+/* SEQUENCE psi8 message content */
+typedef struct psi8_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi8_change_mark;
+   U8 psi8_index;
+   U8 psi8_count;
+   ispresent psi8_message_content_s_1_tag;
+   union psi8_message_content_s_1_value{
+      cbch_channel_description_struct cbch_channel_description;
+   }psi8_message_content_s_1_value;
+   psi8_message_content_s_2_enum psi8_message_content_s_2_tag;
+   union psi8_message_content_s_2_value{
+      psi8_message_content_s_2_bit m_psi8_message_content_s_2_bit;
+      psi8_message_content_s_3 m_psi8_message_content_s_3;
+   }psi8_message_content_s_2_value;
+}psi8_message_content;
+
+typedef struct psi7_message_content_s_2{
+   Bool is_nongsm_message_present; //truncation or optional 
+   U16 numElements_nongsm_message;
+   nongsm_message_struct * nongsm_message;
+   Bool is_psi7_message_content_s_3_present; //truncation or optional 
+}psi7_message_content_s_2;
+
+/* SEQUENCE psi7 message content */
+typedef struct psi7_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi6_change_mark;
+   U8 psi6_index;
+   U8 psi6_count;
+   psi7_message_content_s_2 m_psi7_message_content_s_2; //truncation ;
+}psi7_message_content;
+
+typedef struct psi6_message_content_s_2{
+   Bool is_nongsm_message_present; //truncation or optional 
+   U16 numElements_nongsm_message;
+   nongsm_message_struct * nongsm_message;
+   Bool is_psi6_message_content_s_3_present; //truncation or optional 
+}psi6_message_content_s_2;
+
+/* SEQUENCE psi6 message content */
+typedef struct psi6_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi6_change_mark;
+   U8 psi6_index;
+   U8 psi6_count;
+   psi6_message_content_s_2 m_psi6_message_content_s_2; //truncation ;
+}psi6_message_content;
+
+/* SEQUENCE psi4 message content */
+typedef struct psi4_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi4_change_mark;
+   U8 psi4_index;
+   U8 psi4_count;
+   channel_list_struct int_meas_channel_list;
+}psi4_message_content;
+
+typedef enum {
+   PSI3_QUATER_MESSAGE_CONTENT_S_6_NULL,
+   PSI3_QUATER_MESSAGE_CONTENT_S_7,
+   PSI3_QUATER_MESSAGE_CONTENT_S_8
+}psi3_quater_message_content_s_6_enum;
+
+typedef struct psi3_quater_message_content_s_7{
+   U16 numElements_psi3_quater_message_content_s_7_bit;
+   U8 * psi3_quater_message_content_s_7_bit;
+}psi3_quater_message_content_s_7;
+
+typedef enum {
+   PSI3_QUATER_MESSAGE_CONTENT_S_11_NULL,
+   PSI3_QUATER_MESSAGE_CONTENT_S_11_BIT,
+   PSI3_QUATER_MESSAGE_CONTENT_S_12
+}psi3_quater_message_content_s_11_enum;
+
+typedef struct psi3_quater_message_content_s_11_bit{
+   U16 numElements_psi3_quater_message_content_s_11_bit;
+   U8 * psi3_quater_message_content_s_11_bit;
+}psi3_quater_message_content_s_11_bit;
+
+typedef struct psi3_quater_message_content_s_12{
+   U8 p_3_g_ccn_active;
+}psi3_quater_message_content_s_12;
+
+typedef struct psi3_quater_message_content_s_8{
+   ispresent psi3_quater_message_content_s_9_tag;
+   union psi3_quater_message_content_s_9_value{
+      gprs_3_g_additional_measurement_parameters_description_struct gprs_3_g_additional_measurement_parameters_description;
+   }psi3_quater_message_content_s_9_value;
+   ispresent psi3_quater_message_content_s_10_tag;
+   union psi3_quater_message_content_s_10_value{
+      gprs_3_g_additional_measurement_parameters_description_2_struct gprs_3_g_additional_measurement_parameters_description_2;
+   }psi3_quater_message_content_s_10_value;
+   psi3_quater_message_content_s_11_enum psi3_quater_message_content_s_11_tag;
+   union psi3_quater_message_content_s_11_value{
+      psi3_quater_message_content_s_11_bit m_psi3_quater_message_content_s_11_bit;
+      psi3_quater_message_content_s_12 m_psi3_quater_message_content_s_12;
+   }psi3_quater_message_content_s_11_value;
+}psi3_quater_message_content_s_8;
+
+typedef struct psi3_quater_message_content_s_1{
+   Bool is_psi3_quater_message_content_s_2_present; //truncation or optional 
+   ispresent psi3_quater_message_content_s_2_tag;
+   union psi3_quater_message_content_s_2_value{
+      gprs_rep_priority_description_struct gprs_rep_priority_description;
+   }psi3_quater_message_content_s_2_value;
+   Bool is_psi3_quater_message_content_s_3_present; //truncation or optional 
+   ispresent psi3_quater_message_content_s_3_tag;
+   union psi3_quater_message_content_s_3_value{
+      p_3_g_neighbour_cell_description_struct p_3_g_neighbour_cells_description;
+   }psi3_quater_message_content_s_3_value;
+   Bool is_psi3_quater_message_content_s_4_present; //truncation or optional 
+   ispresent psi3_quater_message_content_s_4_tag;
+   union psi3_quater_message_content_s_4_value{
+      p_3_g_measurement_parameters_description_struct p_3_g_measurement_parameters_description;
+   }psi3_quater_message_content_s_4_value;
+   Bool is_psi3_quater_message_content_s_5_present; //truncation or optional 
+   ispresent psi3_quater_message_content_s_5_tag;
+   union psi3_quater_message_content_s_5_value{
+      p_3_g_initial_dedicated_mode_reporting_description_struct p_3_g_initial_dedicated_mode_reporting_description;
+   }psi3_quater_message_content_s_5_value;
+   Bool is_psi3_quater_message_content_s_6_present; //truncation or optional 
+   psi3_quater_message_content_s_6_enum psi3_quater_message_content_s_6_tag;
+   union psi3_quater_message_content_s_6_value{
+      psi3_quater_message_content_s_7 m_psi3_quater_message_content_s_7;
+      psi3_quater_message_content_s_8 m_psi3_quater_message_content_s_8;
+   }psi3_quater_message_content_s_6_value;
+}psi3_quater_message_content_s_1;
+
+/* SEQUENCE psi3 quater message content */
+typedef struct psi3_quater_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi3_change_mark;
+   U8 psi3_quater_index;
+   U8 psi3_quater_count;
+   psi3_quater_message_content_s_1 m_psi3_quater_message_content_s_1; //truncation ;
+}psi3_quater_message_content;
+
+typedef struct psi3_ter_message_content_s_1{
+   Bool is_psi3_ter_message_content_s_2_present; //truncation or optional 
+   ispresent psi3_ter_message_content_s_2_tag;
+   union psi3_ter_message_content_s_2_value{
+      real_time_difference_description_struct real_time_difference_description;
+   }psi3_ter_message_content_s_2_value;
+   Bool is_psi3_ter_message_content_s_3_present; //truncation or optional 
+   ispresent psi3_ter_message_content_s_3_tag;
+   union psi3_ter_message_content_s_3_value{
+      gprs_rep_priority_description_struct gprs_rep_priority_description;
+   }psi3_ter_message_content_s_3_value;
+}psi3_ter_message_content_s_1;
+
+/* SEQUENCE psi3 ter message content */
+typedef struct psi3_ter_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi3_change_mark;
+   U8 psi3_ter_index;
+   U8 psi3_ter_count;
+   psi3_ter_message_content_s_1 m_psi3_ter_message_content_s_1; //truncation ;
+}psi3_ter_message_content;
+
+typedef enum {
+   PSI3_BIS_MESSAGE_CONTENT_S_4_NULL,
+   PSI3_BIS_MESSAGE_CONTENT_S_4_BIT,
+   PSI3_BIS_MESSAGE_CONTENT_S_5
+}psi3_bis_message_content_s_4_enum;
+
+typedef struct psi3_bis_message_content_s_4_bit{
+   U16 numElements_psi3_bis_message_content_s_4_bit;
+   U8 * psi3_bis_message_content_s_4_bit;
+}psi3_bis_message_content_s_4_bit;
+
+typedef enum {
+   PSI3_BIS_MESSAGE_CONTENT_S_7_NULL,
+   PSI3_BIS_MESSAGE_CONTENT_S_7_BIT,
+   PSI3_BIS_MESSAGE_CONTENT_S_8
+}psi3_bis_message_content_s_7_enum;
+
+typedef struct psi3_bis_message_content_s_7_bit{
+   U16 numElements_psi3_bis_message_content_s_7_bit;
+   U8 * psi3_bis_message_content_s_7_bit;
+}psi3_bis_message_content_s_7_bit;
+
+typedef enum {
+   PSI3_BIS_MESSAGE_CONTENT_S_10_NULL,
+   PSI3_BIS_MESSAGE_CONTENT_S_10_BIT,
+   PSI3_BIS_MESSAGE_CONTENT_S_11
+}psi3_bis_message_content_s_10_enum;
+
+typedef struct psi3_bis_message_content_s_10_bit{
+   U16 numElements_psi3_bis_message_content_s_10_bit;
+   U8 * psi3_bis_message_content_s_10_bit;
+}psi3_bis_message_content_s_10_bit;
+
+typedef enum {
+   PSI3_BIS_MESSAGE_CONTENT_S_13_NULL,
+   PSI3_BIS_MESSAGE_CONTENT_S_13_BIT,
+   PSI3_BIS_MESSAGE_CONTENT_S_14
+}psi3_bis_message_content_s_13_enum;
+
+typedef struct psi3_bis_message_content_s_13_bit{
+   U16 numElements_psi3_bis_message_content_s_13_bit;
+   U8 * psi3_bis_message_content_s_13_bit;
+}psi3_bis_message_content_s_13_bit;
+
+typedef struct psi3_bis_message_content_s_14{
+   U16 numElements_m_iu_mode_neighbour_cell_params_struct;
+   iu_mode_neighbour_cell_params_struct * m_iu_mode_neighbour_cell_params_struct;
+   U16 numElements_m_iu_mode_only_neighbour_cell_params_struct;
+   iu_mode_only_neighbour_cell_params_struct * m_iu_mode_only_neighbour_cell_params_struct;
+}psi3_bis_message_content_s_14;
+
+typedef struct psi3_bis_message_content_s_11{
+   ispresent psi3_bis_message_content_s_12_tag;
+   union psi3_bis_message_content_s_12_value{
+      ccn_support_description_struct ccn_support_description;
+   }psi3_bis_message_content_s_12_value;
+   psi3_bis_message_content_s_13_enum psi3_bis_message_content_s_13_tag;
+   union psi3_bis_message_content_s_13_value{
+      psi3_bis_message_content_s_13_bit m_psi3_bis_message_content_s_13_bit;
+      psi3_bis_message_content_s_14 m_psi3_bis_message_content_s_14;
+   }psi3_bis_message_content_s_13_value;
+}psi3_bis_message_content_s_11;
+
+typedef struct psi3_bis_message_content_s_8{
+   U16 numElements_m_compact_neighbour_cell_params_2_struct;
+   compact_neighbour_cell_params_2_struct * m_compact_neighbour_cell_params_2_struct;
+   psi3_bis_message_content_s_10_enum psi3_bis_message_content_s_10_tag;
+   union psi3_bis_message_content_s_10_value{
+      psi3_bis_message_content_s_10_bit m_psi3_bis_message_content_s_10_bit;
+      psi3_bis_message_content_s_11 m_psi3_bis_message_content_s_11;
+   }psi3_bis_message_content_s_10_value;
+}psi3_bis_message_content_s_8;
+
+typedef struct psi3_bis_message_content_s_5{
+   ispresent psi3_bis_message_content_s_6_tag;
+   union psi3_bis_message_content_s_6_value{
+      lsa_parameters_ie lsa_parameters;
+   }psi3_bis_message_content_s_6_value;
+   psi3_bis_message_content_s_7_enum psi3_bis_message_content_s_7_tag;
+   union psi3_bis_message_content_s_7_value{
+      psi3_bis_message_content_s_7_bit m_psi3_bis_message_content_s_7_bit;
+      psi3_bis_message_content_s_8 m_psi3_bis_message_content_s_8;
+   }psi3_bis_message_content_s_7_value;
+}psi3_bis_message_content_s_5;
+
+typedef struct psi3_bis_message_content_s_1{
+   Bool is_neighbour_cell_parameters_present; //truncation or optional 
+   U16 numElements_m_neighbour_cell_params_struct;
+   neighbour_cell_params_struct * m_neighbour_cell_params_struct;
+   Bool is_neighbour_cell_parameters_2_present; //truncation or optional 
+   U16 numElements_m_neighbour_cell_params_2_struct;
+   neighbour_cell_params_2_struct * m_neighbour_cell_params_2_struct;
+   Bool is_psi3_bis_message_content_s_4_present; //truncation or optional 
+   psi3_bis_message_content_s_4_enum psi3_bis_message_content_s_4_tag;
+   union psi3_bis_message_content_s_4_value{
+      psi3_bis_message_content_s_4_bit m_psi3_bis_message_content_s_4_bit;
+      psi3_bis_message_content_s_5 m_psi3_bis_message_content_s_5;
+   }psi3_bis_message_content_s_4_value;
+}psi3_bis_message_content_s_1;
+
+/* SEQUENCE psi3 bis message content */
+typedef struct psi3_bis_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi3_change_mark;
+   U8 psi3_bis_index;
+   U8 psi3_bis_count;
+   psi3_bis_message_content_s_1 m_psi3_bis_message_content_s_1; //truncation ;
+}psi3_bis_message_content;
+
+typedef enum {
+   PSI3_MESSAGE_CONTENT_S_2_NULL,
+   PSI3_MESSAGE_CONTENT_S_2_BIT,
+   PSI3_MESSAGE_CONTENT_S_3
+}psi3_message_content_s_2_enum;
+
+typedef struct psi3_message_content_s_2_bit{
+   U16 numElements_psi3_message_content_s_2_bit;
+   U8 * psi3_message_content_s_2_bit;
+}psi3_message_content_s_2_bit;
+
+typedef enum {
+   PSI3_MESSAGE_CONTENT_S_5_NULL,
+   PSI3_MESSAGE_CONTENT_S_5_BIT,
+   PSI3_MESSAGE_CONTENT_S_6
+}psi3_message_content_s_5_enum;
+
+typedef struct psi3_message_content_s_5_bit{
+   U16 numElements_psi3_message_content_s_5_bit;
+   U8 * psi3_message_content_s_5_bit;
+}psi3_message_content_s_5_bit;
+
+typedef enum {
+   PSI3_MESSAGE_CONTENT_S_8_NULL,
+   PSI3_MESSAGE_CONTENT_S_8_BIT,
+   PSI3_MESSAGE_CONTENT_S_9
+}psi3_message_content_s_8_enum;
+
+typedef struct psi3_message_content_s_8_bit{
+   U16 numElements_psi3_message_content_s_8_bit;
+   U8 * psi3_message_content_s_8_bit;
+}psi3_message_content_s_8_bit;
+
+typedef enum {
+   PSI3_MESSAGE_CONTENT_S_11_NULL,
+   PSI3_MESSAGE_CONTENT_S_11_BIT,
+   PSI3_MESSAGE_CONTENT_S_12
+}psi3_message_content_s_11_enum;
+
+typedef struct psi3_message_content_s_11_bit{
+   U16 numElements_psi3_message_content_s_11_bit;
+   U8 * psi3_message_content_s_11_bit;
+}psi3_message_content_s_11_bit;
+
+typedef struct psi3_message_content_s_12{
+   U8 cell_bar_qualify_3;
+   U16 numElements_m_iu_mode_neighbour_cell_params_struct;
+   iu_mode_neighbour_cell_params_struct * m_iu_mode_neighbour_cell_params_struct;
+   U16 numElements_m_iu_mode_only_neighbour_cell_params_struct;
+   iu_mode_only_neighbour_cell_params_struct * m_iu_mode_only_neighbour_cell_params_struct;
+}psi3_message_content_s_12;
+
+typedef struct psi3_message_content_s_9{
+   ispresent psi3_message_content_s_10_tag;
+   union psi3_message_content_s_10_value{
+      ccn_support_description_struct ccn_support_description;
+   }psi3_message_content_s_10_value;
+   psi3_message_content_s_11_enum psi3_message_content_s_11_tag;
+   union psi3_message_content_s_11_value{
+      psi3_message_content_s_11_bit m_psi3_message_content_s_11_bit;
+      psi3_message_content_s_12 m_psi3_message_content_s_12;
+   }psi3_message_content_s_11_value;
+}psi3_message_content_s_9;
+
+typedef struct psi3_message_content_s_6{
+   ispresent psi3_message_content_s_7_tag;
+   union psi3_message_content_s_7_value{
+      compact_information_struct compact_information;
+   }psi3_message_content_s_7_value;
+   psi3_message_content_s_8_enum psi3_message_content_s_8_tag;
+   union psi3_message_content_s_8_value{
+      psi3_message_content_s_8_bit m_psi3_message_content_s_8_bit;
+      psi3_message_content_s_9 m_psi3_message_content_s_9;
+   }psi3_message_content_s_8_value;
+}psi3_message_content_s_6;
+
+typedef struct psi3_message_content_s_3{
+   lsa_id_information_struct serving_cell_lsa_id_information;
+   ispresent psi3_message_content_s_4_tag;
+   union psi3_message_content_s_4_value{
+      lsa_parameters_ie lsa_parameters;
+   }psi3_message_content_s_4_value;
+   psi3_message_content_s_5_enum psi3_message_content_s_5_tag;
+   union psi3_message_content_s_5_value{
+      psi3_message_content_s_5_bit m_psi3_message_content_s_5_bit;
+      psi3_message_content_s_6 m_psi3_message_content_s_6;
+   }psi3_message_content_s_5_value;
+}psi3_message_content_s_3;
+
+/* SEQUENCE psi3 message content */
+typedef struct psi3_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi3_change_mark;
+   U8 psi3_bis_count;
+   serving_cell_params_struct_1 serving_cell_parameters;
+   gen_cell_sel_struct general_cell_selection_parameter;
+   U16 numElements_m_neighbour_cell_params_struct;
+   neighbour_cell_params_struct * m_neighbour_cell_params_struct;
+   psi3_message_content_s_2_enum psi3_message_content_s_2_tag;
+   union psi3_message_content_s_2_value{
+      psi3_message_content_s_2_bit m_psi3_message_content_s_2_bit;
+      psi3_message_content_s_3 m_psi3_message_content_s_3;
+   }psi3_message_content_s_2_value;
+}psi3_message_content;
+
+typedef enum {
+   PSI1_MESSAGE_CONTENT_S_2_NULL,
+   PSI1_MESSAGE_CONTENT_CONCAT_0,
+   PSI1_MESSAGE_CONTENT_S_3
+}psi1_message_content_s_2_enum;
+
+typedef enum {
+   PSI1_MESSAGE_CONTENT_S_4_NULL,
+   PSI1_MESSAGE_CONTENT_CONCAT_01,
+   PSI1_MESSAGE_CONTENT_S_5
+}psi1_message_content_s_4_enum;
+
+typedef struct psi1_message_content_s_5{
+   ispresent psi1_message_content_s_6_tag;
+   union psi1_message_content_s_6_value{
+      U8 lb_ms_txpwr_max_cch;
+   }psi1_message_content_s_6_value;
+}psi1_message_content_s_5;
+
+typedef struct psi1_message_content_s_3{
+   U8 mscr;
+   U8 sgsnr;
+   U8 band_indicator;
+   psi1_message_content_s_4_enum psi1_message_content_s_4_tag;
+   union psi1_message_content_s_4_value{
+      psi1_message_content_s_5 m_psi1_message_content_s_5;
+   }psi1_message_content_s_4_value;
+}psi1_message_content_s_3;
+
+/* SEQUENCE psi1 message content */
+typedef struct psi1_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 pbcch_change_mark;
+   U8 psi_change_field;
+   U8 psi1_repeat_period;
+   U8 psi_count_lr;
+   ispresent psi1_message_content_s_1_tag;
+   union psi1_message_content_s_1_value{
+      U8 psi_count_hr;
+   }psi1_message_content_s_1_value;
+   U8 measurement_order;
+   gprs_cell_options_ie gprs_cell_options;
+   prach_control_parameters_ie prach_control_parameters;
+   pccch_organization_parameters_ie pccch_organization_parameters;
+   global_power_control_parameters_ie global_power_control_parameters;
+   U8 psi_status_ind;
+   psi1_message_content_s_2_enum psi1_message_content_s_2_tag;
+   union psi1_message_content_s_2_value{
+      psi1_message_content_s_3 m_psi1_message_content_s_3;
+   }psi1_message_content_s_2_value;
+}psi1_message_content;
+
+/* SEQUENCE packet serving cell data message content */
+typedef struct packet_serving_cell_data_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   U8 spare;
+   U8 container_index;
+   U16 numElements_container;
+   container_repetition_struct * container;
+}packet_serving_cell_data_message_content;
+
+/* SEQUENCE packet queueing notification message content */
+typedef struct packet_queueing_notification_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   packet_request_reference_ie packet_request_reference;
+   U16 tqi;
+}packet_queueing_notification_message_content;
+
+/* SEQUENCE packet prach parameters message content */
+typedef struct packet_prach_parameters_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   prach_control_parameters_ie prach_control_parameters;
+}packet_prach_parameters_message_content;
+
+typedef enum {
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_GLOBAL_TFI,
+   TQI,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_PACKET_REQUEST_REFERENCE
+}packet_power_control_timing_advance_message_content_s_3_enum;
+
+typedef enum {
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_10,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_11
+}packet_power_control_timing_advance_message_content_s_9_enum;
+
+typedef struct packet_power_control_timing_advance_message_content_s_10{
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   power_control_parameters_ie power_control_parameters;
+}packet_power_control_timing_advance_message_content_s_10;
+
+typedef enum {
+   GLOBAL_PACKET_TIMING_ADVANCE,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_POWER_CONTROL_PARAMETERS
+}packet_power_control_timing_advance_message_content_s_11_enum;
+
+typedef struct packet_power_control_timing_advance_message_content_s_11{
+   packet_power_control_timing_advance_message_content_s_11_enum packet_power_control_timing_advance_message_content_s_11_tag;
+   union packet_power_control_timing_advance_message_content_s_11_value{
+      global_packet_timing_advance_ie global_packet_timing_advance;
+      power_control_parameters_ie power_control_parameters;
+   }packet_power_control_timing_advance_message_content_s_11_value;
+}packet_power_control_timing_advance_message_content_s_11;
+
+typedef enum {
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_12_NULL,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_12_BIT,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_13
+}packet_power_control_timing_advance_message_content_s_12_enum;
+
+typedef struct packet_power_control_timing_advance_message_content_s_12_bit{
+   U16 numElements_packet_power_control_timing_advance_message_content_s_12_bit;
+   U8 * packet_power_control_timing_advance_message_content_s_12_bit;
+}packet_power_control_timing_advance_message_content_s_12_bit;
+
+typedef enum {
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_15_NULL,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_15_BIT,
+   PACKET_POWER_CONTROL_TIMING_ADVANCE_MESSAGE_CONTENT_S_16
+}packet_power_control_timing_advance_message_content_s_15_enum;
+
+typedef struct packet_power_control_timing_advance_message_content_s_15_bit{
+   U16 numElements_packet_power_control_timing_advance_message_content_s_15_bit;
+   U8 * packet_power_control_timing_advance_message_content_s_15_bit;
+}packet_power_control_timing_advance_message_content_s_15_bit;
+
+typedef struct packet_power_control_timing_advance_message_content_s_16{
+   ispresent packet_power_control_timing_advance_message_content_s_17_tag;
+   union packet_power_control_timing_advance_message_content_s_17_value{
+      U8 carrier_identification;
+   }packet_power_control_timing_advance_message_content_s_17_value;
+}packet_power_control_timing_advance_message_content_s_16;
+
+typedef struct packet_power_control_timing_advance_message_content_s_13{
+   ispresent packet_power_control_timing_advance_message_content_s_14_tag;
+   union packet_power_control_timing_advance_message_content_s_14_value{
+      U8 packet_extended_timing_advance;
+   }packet_power_control_timing_advance_message_content_s_14_value;
+   packet_power_control_timing_advance_message_content_s_15_enum packet_power_control_timing_advance_message_content_s_15_tag;
+   union packet_power_control_timing_advance_message_content_s_15_value{
+      packet_power_control_timing_advance_message_content_s_15_bit m_packet_power_control_timing_advance_message_content_s_15_bit;
+      packet_power_control_timing_advance_message_content_s_16 m_packet_power_control_timing_advance_message_content_s_16;
+   }packet_power_control_timing_advance_message_content_s_15_value;
+}packet_power_control_timing_advance_message_content_s_13;
+
+/* SEQUENCE packet power control/timing advance message content */
+typedef struct packet_power_control_timing_advance_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   packet_power_control_timing_advance_message_content_s_3_enum packet_power_control_timing_advance_message_content_s_3_tag;
+   union packet_power_control_timing_advance_message_content_s_3_value{
+      global_tfi_ie global_tfi;
+      U16 tqi;
+      packet_request_reference_ie packet_request_reference;
+   }packet_power_control_timing_advance_message_content_s_3_value;
+   ispresent packet_power_control_timing_advance_message_content_s_8_tag;
+   union packet_power_control_timing_advance_message_content_s_8_value{
+      global_power_control_parameters_ie global_power_control_parameters;
+   }packet_power_control_timing_advance_message_content_s_8_value;
+   packet_power_control_timing_advance_message_content_s_9_enum packet_power_control_timing_advance_message_content_s_9_tag;
+   union packet_power_control_timing_advance_message_content_s_9_value{
+      packet_power_control_timing_advance_message_content_s_10 m_packet_power_control_timing_advance_message_content_s_10;
+      packet_power_control_timing_advance_message_content_s_11 m_packet_power_control_timing_advance_message_content_s_11;
+   }packet_power_control_timing_advance_message_content_s_9_value;
+   packet_power_control_timing_advance_message_content_s_12_enum packet_power_control_timing_advance_message_content_s_12_tag;
+   union packet_power_control_timing_advance_message_content_s_12_value{
+      packet_power_control_timing_advance_message_content_s_12_bit m_packet_power_control_timing_advance_message_content_s_12_bit;
+      packet_power_control_timing_advance_message_content_s_13 m_packet_power_control_timing_advance_message_content_s_13;
+   }packet_power_control_timing_advance_message_content_s_12_value;
+}packet_power_control_timing_advance_message_content;
+
+typedef enum {
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_GLOBAL_TFI,
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_TLLI___G_RNTI,
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_TQI
+}packet_polling_request_message_content_s_3_enum;
+
+typedef enum {
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_S_6_NULL,
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_S_6_BIT,
+   PACKET_POLLING_REQUEST_MESSAGE_CONTENT_S_7
+}packet_polling_request_message_content_s_6_enum;
+
+typedef struct packet_polling_request_message_content_s_6_bit{
+   U16 numElements_packet_polling_request_message_content_s_6_bit;
+   U8 * packet_polling_request_message_content_s_6_bit;
+}packet_polling_request_message_content_s_6_bit;
+
+typedef struct packet_polling_request_message_content_s_7{
+   ispresent packet_polling_request_message_content_s_8_tag;
+   union packet_polling_request_message_content_s_8_value{
+      U8 g_rnti_extension;
+   }packet_polling_request_message_content_s_8_value;
+}packet_polling_request_message_content_s_7;
+
+/* SEQUENCE packet polling request message content */
+typedef struct packet_polling_request_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   packet_polling_request_message_content_s_3_enum packet_polling_request_message_content_s_3_tag;
+   union packet_polling_request_message_content_s_3_value{
+      global_tfi_ie global_tfi;
+      U32 tlli___g_rnti;
+      U16 tqi;
+   }packet_polling_request_message_content_s_3_value;
+   U8 type_of_ack;
+   packet_polling_request_message_content_s_6_enum packet_polling_request_message_content_s_6_tag;
+   union packet_polling_request_message_content_s_6_value{
+      packet_polling_request_message_content_s_6_bit m_packet_polling_request_message_content_s_6_bit;
+      packet_polling_request_message_content_s_7 m_packet_polling_request_message_content_s_7;
+   }packet_polling_request_message_content_s_6_value;
+}packet_polling_request_message_content;
+
+/* SEQUENCE packet pdch release message content */
+typedef struct packet_pdch_release_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 timeslots_available;
+}packet_pdch_release_message_content;
+
+typedef enum {
+   PACKET_PAGING_REQUEST_MESSAGE_CONTENT_S_5_NULL,
+   PACKET_PAGING_REQUEST_MESSAGE_CONTENT_S_5_BIT,
+   PACKET_PAGING_REQUEST_MESSAGE_CONTENT_S_6
+}packet_paging_request_message_content_s_5_enum;
+
+typedef struct packet_paging_request_message_content_s_5_bit{
+   U16 numElements_packet_paging_request_message_content_s_5_bit;
+   U8 * packet_paging_request_message_content_s_5_bit;
+}packet_paging_request_message_content_s_5_bit;
+
+typedef struct packet_paging_request_message_content_s_6{
+   U16 numElements_repeated_iu_page_info;
+   repeated_iu_page_info_struct * repeated_iu_page_info;
+}packet_paging_request_message_content_s_6;
+
+typedef struct packet_paging_request_message_content_s_3{
+   Bool is_packet_paging_request_message_content_s_4_present; //truncation or optional 
+   U16 numElements_repeated_page_info;
+   repeated_page_info_struct_1 * repeated_page_info;
+   Bool is_packet_paging_request_message_content_s_5_present; //truncation or optional 
+   packet_paging_request_message_content_s_5_enum packet_paging_request_message_content_s_5_tag;
+   union packet_paging_request_message_content_s_5_value{
+      packet_paging_request_message_content_s_5_bit m_packet_paging_request_message_content_s_5_bit;
+      packet_paging_request_message_content_s_6 m_packet_paging_request_message_content_s_6;
+   }packet_paging_request_message_content_s_5_value;
+}packet_paging_request_message_content_s_3;
+
+/* SEQUENCE packet paging request message content */
+typedef struct packet_paging_request_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent packet_paging_request_message_content_s_1_tag;
+   union packet_paging_request_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }packet_paging_request_message_content_s_1_value;
+   ispresent packet_paging_request_message_content_s_2_tag;
+   union packet_paging_request_message_content_s_2_value{
+      U8 nln;
+   }packet_paging_request_message_content_s_2_value;
+   packet_paging_request_message_content_s_3 m_packet_paging_request_message_content_s_3; //truncation ;
+}packet_paging_request_message_content;
+
+typedef struct packet_neighbour_cell_data_message_content_s_6{
+   U16 arfcn;
+   U8 bsic;
+}packet_neighbour_cell_data_message_content_s_6;
+
+/* SEQUENCE packet neighbour cell data message content */
+typedef struct packet_neighbour_cell_data_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   U8 container_id;
+   U8 container_index;
+   ispresent packet_neighbour_cell_data_message_content_s_5_tag;
+   union packet_neighbour_cell_data_message_content_s_5_value{
+      packet_neighbour_cell_data_message_content_s_6 m_packet_neighbour_cell_data_message_content_s_6;
+   }packet_neighbour_cell_data_message_content_s_5_value;
+   container_repetition_struct container;
+}packet_neighbour_cell_data_message_content;
+
+/* SEQUENCE packet downlink dummy control block message content */
+typedef struct packet_downlink_dummy_control_block_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent packet_downlink_dummy_control_block_message_content_s_1_tag;
+   union packet_downlink_dummy_control_block_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }packet_downlink_dummy_control_block_message_content_s_1_value;
+}packet_downlink_dummy_control_block_message_content;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_GLOBAL_TFI,
+   TLLI__G_RNTI
+}packet_downlink_assignment_message_content_s_4_enum;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_6,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_36
+}packet_downlink_assignment_message_content_s_5_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_9{
+   U8 p0;
+   U8 bts_pwr_ctrl_mode;
+   U8 pr_mode;
+}packet_downlink_assignment_message_content_s_9;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_16_NULL,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_16_BIT,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_17
+}packet_downlink_assignment_message_content_s_16_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_16_bit{
+   U16 numElements_packet_downlink_assignment_message_content_s_16_bit;
+   U8 * packet_downlink_assignment_message_content_s_16_bit;
+}packet_downlink_assignment_message_content_s_16_bit;
+
+typedef struct packet_downlink_assignment_message_content_s_19{
+   U8 egprs_window_size;
+   U8 link_quality_measurement_mode;
+   ispresent packet_downlink_assignment_message_content_s_20_tag;
+   union packet_downlink_assignment_message_content_s_20_value{
+      U8 bep_period2;
+   }packet_downlink_assignment_message_content_s_20_value;
+}packet_downlink_assignment_message_content_s_19;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_23_NULL,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_23_BIT,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_24
+}packet_downlink_assignment_message_content_s_23_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_23_bit{
+   U16 numElements_packet_downlink_assignment_message_content_s_23_bit;
+   U8 * packet_downlink_assignment_message_content_s_23_bit;
+}packet_downlink_assignment_message_content_s_23_bit;
+
+typedef struct packet_downlink_assignment_message_content_s_26{
+   U8 rb_id;
+   ispresent packet_downlink_assignment_message_content_s_27_tag;
+   union packet_downlink_assignment_message_content_s_27_value{
+      U8 g_rnti_extension;
+   }packet_downlink_assignment_message_content_s_27_value;
+   ispresent packet_downlink_assignment_message_content_s_28_tag;
+   union packet_downlink_assignment_message_content_s_28_value{
+      U8 uplink_control_timeslot;
+   }packet_downlink_assignment_message_content_s_28_value;
+   ispresent packet_downlink_assignment_message_content_s_29_tag;
+   union packet_downlink_assignment_message_content_s_29_value{
+      U8 hfn_lsb;
+   }packet_downlink_assignment_message_content_s_29_value;
+}packet_downlink_assignment_message_content_s_26;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_30_NULL,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_30_BIT,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_31
+}packet_downlink_assignment_message_content_s_30_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_30_bit{
+   U16 numElements_packet_downlink_assignment_message_content_s_30_bit;
+   U8 * packet_downlink_assignment_message_content_s_30_bit;
+}packet_downlink_assignment_message_content_s_30_bit;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_33_NULL,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_33_BIT,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_34
+}packet_downlink_assignment_message_content_s_33_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_33_bit{
+   U16 numElements_packet_downlink_assignment_message_content_s_33_bit;
+   U8 * packet_downlink_assignment_message_content_s_33_bit;
+}packet_downlink_assignment_message_content_s_33_bit;
+
+typedef struct packet_downlink_assignment_message_content_s_34{
+   ispresent packet_downlink_assignment_message_content_s_35_tag;
+   union packet_downlink_assignment_message_content_s_35_value{
+      U8 npm_transfer_time;
+   }packet_downlink_assignment_message_content_s_35_value;
+}packet_downlink_assignment_message_content_s_34;
+
+typedef struct packet_downlink_assignment_message_content_s_31{
+   ispresent packet_downlink_assignment_message_content_s_32_tag;
+   union packet_downlink_assignment_message_content_s_32_value{
+      U8 pfi;
+   }packet_downlink_assignment_message_content_s_32_value;
+   packet_downlink_assignment_message_content_s_33_enum packet_downlink_assignment_message_content_s_33_tag;
+   union packet_downlink_assignment_message_content_s_33_value{
+      packet_downlink_assignment_message_content_s_33_bit m_packet_downlink_assignment_message_content_s_33_bit;
+      packet_downlink_assignment_message_content_s_34 m_packet_downlink_assignment_message_content_s_34;
+   }packet_downlink_assignment_message_content_s_33_value;
+}packet_downlink_assignment_message_content_s_31;
+
+typedef struct packet_downlink_assignment_message_content_s_24{
+   ispresent packet_downlink_assignment_message_content_s_25_tag;
+   union packet_downlink_assignment_message_content_s_25_value{
+      packet_downlink_assignment_message_content_s_26 m_packet_downlink_assignment_message_content_s_26;
+   }packet_downlink_assignment_message_content_s_25_value;
+   packet_downlink_assignment_message_content_s_30_enum packet_downlink_assignment_message_content_s_30_tag;
+   union packet_downlink_assignment_message_content_s_30_value{
+      packet_downlink_assignment_message_content_s_30_bit m_packet_downlink_assignment_message_content_s_30_bit;
+      packet_downlink_assignment_message_content_s_31 m_packet_downlink_assignment_message_content_s_31;
+   }packet_downlink_assignment_message_content_s_30_value;
+}packet_downlink_assignment_message_content_s_24;
+
+typedef struct packet_downlink_assignment_message_content_s_17{
+   ispresent packet_downlink_assignment_message_content_s_18_tag;
+   union packet_downlink_assignment_message_content_s_18_value{
+      packet_downlink_assignment_message_content_s_19 m_packet_downlink_assignment_message_content_s_19;
+   }packet_downlink_assignment_message_content_s_18_value;
+   ispresent packet_downlink_assignment_message_content_s_21_tag;
+   union packet_downlink_assignment_message_content_s_21_value{
+      U8 packet_extended_timing_advance;
+   }packet_downlink_assignment_message_content_s_21_value;
+   ispresent packet_downlink_assignment_message_content_s_22_tag;
+   union packet_downlink_assignment_message_content_s_22_value{
+      compact_reduced_ma_ie compact_reduced_ma;
+   }packet_downlink_assignment_message_content_s_22_value;
+   packet_downlink_assignment_message_content_s_23_enum packet_downlink_assignment_message_content_s_23_tag;
+   union packet_downlink_assignment_message_content_s_23_value{
+      packet_downlink_assignment_message_content_s_23_bit m_packet_downlink_assignment_message_content_s_23_bit;
+      packet_downlink_assignment_message_content_s_24 m_packet_downlink_assignment_message_content_s_24;
+   }packet_downlink_assignment_message_content_s_23_value;
+}packet_downlink_assignment_message_content_s_17;
+
+typedef struct packet_downlink_assignment_message_content_s_10{
+   Bool is_packet_downlink_assignment_message_content_s_11_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_11_tag;
+   union packet_downlink_assignment_message_content_s_11_value{
+      frequency_parameters_ie frequency_parameters;
+   }packet_downlink_assignment_message_content_s_11_value;
+   Bool is_packet_downlink_assignment_message_content_s_12_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_12_tag;
+   union packet_downlink_assignment_message_content_s_12_value{
+      U8 downlink_tfi_assignment;
+   }packet_downlink_assignment_message_content_s_12_value;
+   Bool is_packet_downlink_assignment_message_content_s_13_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_13_tag;
+   union packet_downlink_assignment_message_content_s_13_value{
+      power_control_parameters_ie power_control_parameters;
+   }packet_downlink_assignment_message_content_s_13_value;
+   Bool is_packet_downlink_assignment_message_content_s_14_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_14_tag;
+   union packet_downlink_assignment_message_content_s_14_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }packet_downlink_assignment_message_content_s_14_value;
+   Bool is_packet_downlink_assignment_message_content_s_15_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_15_tag;
+   union packet_downlink_assignment_message_content_s_15_value{
+      measurement_mapping_struct measurement_mapping;
+   }packet_downlink_assignment_message_content_s_15_value;
+   Bool is_packet_downlink_assignment_message_content_s_16_present; //truncation or optional 
+   packet_downlink_assignment_message_content_s_16_enum packet_downlink_assignment_message_content_s_16_tag;
+   union packet_downlink_assignment_message_content_s_16_value{
+      packet_downlink_assignment_message_content_s_16_bit m_packet_downlink_assignment_message_content_s_16_bit;
+      packet_downlink_assignment_message_content_s_17 m_packet_downlink_assignment_message_content_s_17;
+   }packet_downlink_assignment_message_content_s_16_value;
+}packet_downlink_assignment_message_content_s_10;
+
+typedef struct packet_downlink_assignment_message_content_s_7{
+   U8 mac_mode;
+   U8 rlc_mode;
+   U8 control_ack;
+   U8 timeslot_allocation;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent packet_downlink_assignment_message_content_s_8_tag;
+   union packet_downlink_assignment_message_content_s_8_value{
+      packet_downlink_assignment_message_content_s_9 m_packet_downlink_assignment_message_content_s_9;
+   }packet_downlink_assignment_message_content_s_8_value;
+   packet_downlink_assignment_message_content_s_10 m_packet_downlink_assignment_message_content_s_10; //truncation ;
+}packet_downlink_assignment_message_content_s_7;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_40,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_42
+}packet_downlink_assignment_message_content_s_39_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_40{
+   U8 timeslot_allocation_c1;
+   ispresent packet_downlink_assignment_message_content_s_41_tag;
+   union packet_downlink_assignment_message_content_s_41_value{
+      U8 timeslot_allocation_c2;
+   }packet_downlink_assignment_message_content_s_41_value;
+}packet_downlink_assignment_message_content_s_40;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_43,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_46
+}packet_downlink_assignment_message_content_s_42_enum;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_00,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_01,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_45
+}packet_downlink_assignment_message_content_s_44_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_45{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}packet_downlink_assignment_message_content_s_45;
+
+typedef struct packet_downlink_assignment_message_content_s_43{
+   packet_downlink_assignment_message_content_s_44_enum packet_downlink_assignment_message_content_s_44_tag;
+   union packet_downlink_assignment_message_content_s_44_value{
+      packet_downlink_assignment_message_content_s_45 m_packet_downlink_assignment_message_content_s_45;
+   }packet_downlink_assignment_message_content_s_44_value;
+   U8 rtti_downlink_pdch_pair_assignment_sc;
+}packet_downlink_assignment_message_content_s_43;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_001,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_011,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_48
+}packet_downlink_assignment_message_content_s_47_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_48{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}packet_downlink_assignment_message_content_s_48;
+
+typedef struct packet_downlink_assignment_message_content_s_46{
+   packet_downlink_assignment_message_content_s_47_enum packet_downlink_assignment_message_content_s_47_tag;
+   union packet_downlink_assignment_message_content_s_47_value{
+      packet_downlink_assignment_message_content_s_48 m_packet_downlink_assignment_message_content_s_48;
+   }packet_downlink_assignment_message_content_s_47_value;
+   U8 rtti_downlink_pdch_pair_assignment_dc;
+}packet_downlink_assignment_message_content_s_46;
+
+typedef struct packet_downlink_assignment_message_content_s_42{
+   packet_downlink_assignment_message_content_s_42_enum packet_downlink_assignment_message_content_s_42_tag;
+   union packet_downlink_assignment_message_content_s_42_value{
+      packet_downlink_assignment_message_content_s_43 m_packet_downlink_assignment_message_content_s_43;
+      packet_downlink_assignment_message_content_s_46 m_packet_downlink_assignment_message_content_s_46;
+   }packet_downlink_assignment_message_content_s_42_value;
+}packet_downlink_assignment_message_content_s_42;
+
+typedef enum {
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_002,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_50,
+   PACKET_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}packet_downlink_assignment_message_content_s_49_enum;
+
+typedef struct packet_downlink_assignment_message_content_s_50{
+   ispresent packet_downlink_assignment_message_content_s_51_tag;
+   union packet_downlink_assignment_message_content_s_51_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }packet_downlink_assignment_message_content_s_51_value;
+   ispresent packet_downlink_assignment_message_content_s_52_tag;
+   union packet_downlink_assignment_message_content_s_52_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }packet_downlink_assignment_message_content_s_52_value;
+}packet_downlink_assignment_message_content_s_50;
+
+typedef struct packet_downlink_assignment_message_content_s_56{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}packet_downlink_assignment_message_content_s_56;
+
+typedef struct packet_downlink_assignment_message_content_s_54{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent packet_downlink_assignment_message_content_s_55_tag;
+   union packet_downlink_assignment_message_content_s_55_value{
+      packet_downlink_assignment_message_content_s_56 m_packet_downlink_assignment_message_content_s_56;
+   }packet_downlink_assignment_message_content_s_55_value;
+}packet_downlink_assignment_message_content_s_54;
+
+typedef struct packet_downlink_assignment_message_content_s_61{
+   egprs_window_size_ie egprs_window_size;
+   U8 link_quality_measurement_mode;
+   ispresent packet_downlink_assignment_message_content_s_62_tag;
+   union packet_downlink_assignment_message_content_s_62_value{
+      U8 bep_period2;
+   }packet_downlink_assignment_message_content_s_62_value;
+}packet_downlink_assignment_message_content_s_61;
+
+typedef struct packet_downlink_assignment_message_content_s_38{
+   Bool is_rlc_mode_present; //truncation or optional 
+   U8 rlc_mode;
+   Bool is_control_ack_present; //truncation or optional 
+   U8 control_ack;
+   Bool is_assignment_info_present; //truncation or optional 
+   assignment_info_struct assignment_info;
+   Bool is_packet_downlink_assignment_message_content_s_39_present; //truncation or optional 
+   packet_downlink_assignment_message_content_s_39_enum packet_downlink_assignment_message_content_s_39_tag;
+   union packet_downlink_assignment_message_content_s_39_value{
+      packet_downlink_assignment_message_content_s_40 m_packet_downlink_assignment_message_content_s_40;
+      packet_downlink_assignment_message_content_s_42 m_packet_downlink_assignment_message_content_s_42;
+   }packet_downlink_assignment_message_content_s_39_value;
+   Bool is_packet_timing_advance_present; //truncation or optional 
+   packet_timing_advance_ie packet_timing_advance;
+   Bool is_packet_downlink_assignment_message_content_s_49_present; //truncation or optional 
+   packet_downlink_assignment_message_content_s_49_enum packet_downlink_assignment_message_content_s_49_tag;
+   union packet_downlink_assignment_message_content_s_49_value{
+      packet_downlink_assignment_message_content_s_50 m_packet_downlink_assignment_message_content_s_50;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }packet_downlink_assignment_message_content_s_49_value;
+   Bool is_packet_downlink_assignment_message_content_s_53_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_53_tag;
+   union packet_downlink_assignment_message_content_s_53_value{
+      packet_downlink_assignment_message_content_s_54 m_packet_downlink_assignment_message_content_s_54;
+   }packet_downlink_assignment_message_content_s_53_value;
+   Bool is_packet_downlink_assignment_message_content_s_57_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_57_tag;
+   union packet_downlink_assignment_message_content_s_57_value{
+      U8 downlink_tfi_assignment;
+   }packet_downlink_assignment_message_content_s_57_value;
+   Bool is_packet_downlink_assignment_message_content_s_58_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_58_tag;
+   union packet_downlink_assignment_message_content_s_58_value{
+      power_control_parameters_ie power_control_parameters_c1;
+   }packet_downlink_assignment_message_content_s_58_value;
+   Bool is_packet_downlink_assignment_message_content_s_59_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_59_tag;
+   union packet_downlink_assignment_message_content_s_59_value{
+      power_control_parameters_ie power_control_parameters_c2;
+   }packet_downlink_assignment_message_content_s_59_value;
+   Bool is_packet_downlink_assignment_message_content_s_60_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_60_tag;
+   union packet_downlink_assignment_message_content_s_60_value{
+      packet_downlink_assignment_message_content_s_61 m_packet_downlink_assignment_message_content_s_61;
+   }packet_downlink_assignment_message_content_s_60_value;
+   Bool is_packet_downlink_assignment_message_content_s_63_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_63_tag;
+   union packet_downlink_assignment_message_content_s_63_value{
+      U8 packet_extended_timing_advance;
+   }packet_downlink_assignment_message_content_s_63_value;
+   Bool is_packet_downlink_assignment_message_content_s_64_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_64_tag;
+   union packet_downlink_assignment_message_content_s_64_value{
+      U8 pfi;
+   }packet_downlink_assignment_message_content_s_64_value;
+   Bool is_packet_downlink_assignment_message_content_s_65_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_65_tag;
+   union packet_downlink_assignment_message_content_s_65_value{
+      U8 npm_transfer_time;
+   }packet_downlink_assignment_message_content_s_65_value;
+   Bool is_packet_downlink_assignment_message_content_s_66_present; //truncation or optional 
+   ispresent packet_downlink_assignment_message_content_s_66_tag;
+   union packet_downlink_assignment_message_content_s_66_value{
+      U8 event_based_fanr;
+   }packet_downlink_assignment_message_content_s_66_value;
+   Bool is_downlink_egprs_level_present; //truncation or optional 
+   egprs_level_ie downlink_egprs_level;
+}packet_downlink_assignment_message_content_s_38;
+
+/* SEQUENCE packet downlink assignment message content */
+typedef struct packet_downlink_assignment_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent packet_downlink_assignment_message_content_s_1_tag;
+   union packet_downlink_assignment_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }packet_downlink_assignment_message_content_s_1_value;
+   packet_downlink_assignment_message_content_s_4_enum packet_downlink_assignment_message_content_s_4_tag;
+   union packet_downlink_assignment_message_content_s_4_value{
+      global_tfi_ie global_tfi;
+      U32 tlli__g_rnti;
+   }packet_downlink_assignment_message_content_s_4_value;
+   packet_downlink_assignment_message_content_s_5_enum packet_downlink_assignment_message_content_s_5_tag;
+   union packet_downlink_assignment_message_content_s_5_value{
+      packet_downlink_assignment_message_content_s_7 m_packet_downlink_assignment_message_content_s_7;
+      packet_downlink_assignment_message_content_s_38 m_packet_downlink_assignment_message_content_s_38;
+   }packet_downlink_assignment_message_content_s_5_value;
+}packet_downlink_assignment_message_content;
+
+typedef struct packet_cell_change_continue_message_content_s_6{
+   U16 arfcn;
+   U8 bsic;
+   U8 container_id;
+}packet_cell_change_continue_message_content_s_6;
+
+/* SEQUENCE packet cell change continue message content */
+typedef struct packet_cell_change_continue_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   ispresent packet_cell_change_continue_message_content_s_5_tag;
+   union packet_cell_change_continue_message_content_s_5_value{
+      packet_cell_change_continue_message_content_s_6 m_packet_cell_change_continue_message_content_s_6;
+   }packet_cell_change_continue_message_content_s_5_value;
+}packet_cell_change_continue_message_content;
+
+typedef enum {
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_3_NULL,
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_3_BIT,
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_4
+}packet_access_reject_message_content_s_3_enum;
+
+typedef struct packet_access_reject_message_content_s_3_bit{
+   U16 numElements_packet_access_reject_message_content_s_3_bit;
+   U8 * packet_access_reject_message_content_s_3_bit;
+}packet_access_reject_message_content_s_3_bit;
+
+typedef enum {
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_6_NULL,
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_6_BIT,
+   PACKET_ACCESS_REJECT_MESSAGE_CONTENT_S_7
+}packet_access_reject_message_content_s_6_enum;
+
+typedef struct packet_access_reject_message_content_s_6_bit{
+   U16 numElements_packet_access_reject_message_content_s_6_bit;
+   U8 * packet_access_reject_message_content_s_6_bit;
+}packet_access_reject_message_content_s_6_bit;
+
+typedef struct packet_access_reject_message_content_s_8{
+   a_gb_mode_reject_struct_1 a_gb_mode_reject;
+}packet_access_reject_message_content_s_8;
+
+typedef struct _packet_access_reject_message_content_s_8{
+   U16 numElements_m_packet_access_reject_message_content_s_8;
+   packet_access_reject_message_content_s_8 * m_packet_access_reject_message_content_s_8;
+}_packet_access_reject_message_content_s_8;
+
+typedef struct packet_access_reject_message_content_s_4{
+   U16 numElements_iu_mode_reject;
+   iu_mode_reject_struct_1 * iu_mode_reject;
+   packet_access_reject_message_content_s_6_enum packet_access_reject_message_content_s_6_tag;
+   union packet_access_reject_message_content_s_6_value{
+      packet_access_reject_message_content_s_6_bit m_packet_access_reject_message_content_s_6_bit;
+      _packet_access_reject_message_content_s_8 m_packet_access_reject_message_content_s_8;
+   }packet_access_reject_message_content_s_6_value;
+}packet_access_reject_message_content_s_4;
+
+typedef struct packet_access_reject_message_content_s_1{
+   Bool is_packet_access_reject_message_content_s_2_present; //truncation or optional 
+   U16 numElements_additional_reject;
+   reject_struct_1 * additional_reject;
+   Bool is_packet_access_reject_message_content_s_3_present; //truncation or optional 
+   packet_access_reject_message_content_s_3_enum packet_access_reject_message_content_s_3_tag;
+   union packet_access_reject_message_content_s_3_value{
+      packet_access_reject_message_content_s_3_bit m_packet_access_reject_message_content_s_3_bit;
+      packet_access_reject_message_content_s_4 m_packet_access_reject_message_content_s_4;
+   }packet_access_reject_message_content_s_3_value;
+}packet_access_reject_message_content_s_1;
+
+/* SEQUENCE packet access reject message content */
+typedef struct packet_access_reject_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   reject_struct_1 reject;
+   packet_access_reject_message_content_s_1 m_packet_access_reject_message_content_s_1; //truncation ;
+}packet_access_reject_message_content;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_GLOBAL_TFI,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_TLLI___G_RNTI,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_TQI,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_PACKET_REQUEST_REFERENCE
+}packet_uplink_assignment_message_content_s_4_enum;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_6,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_21
+}packet_uplink_assignment_message_content_s_5_enum;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_DYNAMIC_ALLOCATION,
+   SINGLE_BLOCK_ALLOCATION,
+   M_EXTENSION,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_FIXED_ALLOCATION
+}packet_uplink_assignment_message_content_s_9_enum;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_10_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_10_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_11
+}packet_uplink_assignment_message_content_s_10_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_10_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_10_bit;
+   U8 * packet_uplink_assignment_message_content_s_10_bit;
+}packet_uplink_assignment_message_content_s_10_bit;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_13_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_13_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_14
+}packet_uplink_assignment_message_content_s_13_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_13_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_13_bit;
+   U8 * packet_uplink_assignment_message_content_s_13_bit;
+}packet_uplink_assignment_message_content_s_13_bit;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_17_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_17_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_18
+}packet_uplink_assignment_message_content_s_17_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_17_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_17_bit;
+   U8 * packet_uplink_assignment_message_content_s_17_bit;
+}packet_uplink_assignment_message_content_s_17_bit;
+
+typedef struct packet_uplink_assignment_message_content_s_18{
+   ispresent packet_uplink_assignment_message_content_s_19_tag;
+   union packet_uplink_assignment_message_content_s_19_value{
+      U8 pfi;
+   }packet_uplink_assignment_message_content_s_19_value;
+   ispresent packet_uplink_assignment_message_content_s_20_tag;
+   union packet_uplink_assignment_message_content_s_20_value{
+      U8 rlc_mode;
+   }packet_uplink_assignment_message_content_s_20_value;
+}packet_uplink_assignment_message_content_s_18;
+
+typedef struct packet_uplink_assignment_message_content_s_14{
+   ispresent packet_uplink_assignment_message_content_s_15_tag;
+   union packet_uplink_assignment_message_content_s_15_value{
+      U8 g_rnti_extension;
+   }packet_uplink_assignment_message_content_s_15_value;
+   ispresent packet_uplink_assignment_message_content_s_16_tag;
+   union packet_uplink_assignment_message_content_s_16_value{
+      U8 rb_id;
+   }packet_uplink_assignment_message_content_s_16_value;
+   packet_uplink_assignment_message_content_s_17_enum packet_uplink_assignment_message_content_s_17_tag;
+   union packet_uplink_assignment_message_content_s_17_value{
+      packet_uplink_assignment_message_content_s_17_bit m_packet_uplink_assignment_message_content_s_17_bit;
+      packet_uplink_assignment_message_content_s_18 m_packet_uplink_assignment_message_content_s_18;
+   }packet_uplink_assignment_message_content_s_17_value;
+}packet_uplink_assignment_message_content_s_14;
+
+typedef struct packet_uplink_assignment_message_content_s_11{
+   ispresent packet_uplink_assignment_message_content_s_12_tag;
+   union packet_uplink_assignment_message_content_s_12_value{
+      U8 packet_extended_timing_advance;
+   }packet_uplink_assignment_message_content_s_12_value;
+   packet_uplink_assignment_message_content_s_13_enum packet_uplink_assignment_message_content_s_13_tag;
+   union packet_uplink_assignment_message_content_s_13_value{
+      packet_uplink_assignment_message_content_s_13_bit m_packet_uplink_assignment_message_content_s_13_bit;
+      packet_uplink_assignment_message_content_s_14 m_packet_uplink_assignment_message_content_s_14;
+   }packet_uplink_assignment_message_content_s_13_value;
+}packet_uplink_assignment_message_content_s_11;
+
+typedef struct packet_uplink_assignment_message_content_s_7{
+   U8 channel_coding_command;
+   U8 tlli_block_channel_coding;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent packet_uplink_assignment_message_content_s_8_tag;
+   union packet_uplink_assignment_message_content_s_8_value{
+      frequency_parameters_ie frequency_parameters;
+   }packet_uplink_assignment_message_content_s_8_value;
+   packet_uplink_assignment_message_content_s_9_enum packet_uplink_assignment_message_content_s_9_tag;
+   union packet_uplink_assignment_message_content_s_9_value{
+      dynamic_allocation_struct dynamic_allocation;
+      single_block_allocation_struct single_block_allocation;
+      fixed_allocation_struct_2 fixed_allocation;
+   }packet_uplink_assignment_message_content_s_9_value;
+   packet_uplink_assignment_message_content_s_10_enum packet_uplink_assignment_message_content_s_10_tag;
+   union packet_uplink_assignment_message_content_s_10_value{
+      packet_uplink_assignment_message_content_s_10_bit m_packet_uplink_assignment_message_content_s_10_bit;
+      packet_uplink_assignment_message_content_s_11 m_packet_uplink_assignment_message_content_s_11;
+   }packet_uplink_assignment_message_content_s_10_value;
+}packet_uplink_assignment_message_content_s_7;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_22,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_42
+}packet_uplink_assignment_message_content_s_21_enum;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_DYNAMIC_ALLOCATION1,
+   MULTI_BLOCK_ALLOCATION,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_M_EXTENSION,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_FIXED_ALLOCATION1
+}packet_uplink_assignment_message_content_s_30_enum;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_31_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_31_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_32
+}packet_uplink_assignment_message_content_s_31_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_31_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_31_bit;
+   U8 * packet_uplink_assignment_message_content_s_31_bit;
+}packet_uplink_assignment_message_content_s_31_bit;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_35_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_35_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_36
+}packet_uplink_assignment_message_content_s_35_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_35_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_35_bit;
+   U8 * packet_uplink_assignment_message_content_s_35_bit;
+}packet_uplink_assignment_message_content_s_35_bit;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_39_NULL,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_39_BIT,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_40
+}packet_uplink_assignment_message_content_s_39_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_39_bit{
+   U16 numElements_packet_uplink_assignment_message_content_s_39_bit;
+   U8 * packet_uplink_assignment_message_content_s_39_bit;
+}packet_uplink_assignment_message_content_s_39_bit;
+
+typedef struct packet_uplink_assignment_message_content_s_40{
+   ispresent packet_uplink_assignment_message_content_s_41_tag;
+   union packet_uplink_assignment_message_content_s_41_value{
+      U8 npm_transfer_time;
+   }packet_uplink_assignment_message_content_s_41_value;
+}packet_uplink_assignment_message_content_s_40;
+
+typedef struct packet_uplink_assignment_message_content_s_36{
+   ispresent packet_uplink_assignment_message_content_s_37_tag;
+   union packet_uplink_assignment_message_content_s_37_value{
+      U8 pfi;
+   }packet_uplink_assignment_message_content_s_37_value;
+   ispresent packet_uplink_assignment_message_content_s_38_tag;
+   union packet_uplink_assignment_message_content_s_38_value{
+      U8 rlc_mode;
+   }packet_uplink_assignment_message_content_s_38_value;
+   packet_uplink_assignment_message_content_s_39_enum packet_uplink_assignment_message_content_s_39_tag;
+   union packet_uplink_assignment_message_content_s_39_value{
+      packet_uplink_assignment_message_content_s_39_bit m_packet_uplink_assignment_message_content_s_39_bit;
+      packet_uplink_assignment_message_content_s_40 m_packet_uplink_assignment_message_content_s_40;
+   }packet_uplink_assignment_message_content_s_39_value;
+}packet_uplink_assignment_message_content_s_36;
+
+typedef struct packet_uplink_assignment_message_content_s_32{
+   ispresent packet_uplink_assignment_message_content_s_33_tag;
+   union packet_uplink_assignment_message_content_s_33_value{
+      U8 g_rnti_extension;
+   }packet_uplink_assignment_message_content_s_33_value;
+   ispresent packet_uplink_assignment_message_content_s_34_tag;
+   union packet_uplink_assignment_message_content_s_34_value{
+      U8 rb_id;
+   }packet_uplink_assignment_message_content_s_34_value;
+   packet_uplink_assignment_message_content_s_35_enum packet_uplink_assignment_message_content_s_35_tag;
+   union packet_uplink_assignment_message_content_s_35_value{
+      packet_uplink_assignment_message_content_s_35_bit m_packet_uplink_assignment_message_content_s_35_bit;
+      packet_uplink_assignment_message_content_s_36 m_packet_uplink_assignment_message_content_s_36;
+   }packet_uplink_assignment_message_content_s_35_value;
+}packet_uplink_assignment_message_content_s_32;
+
+typedef struct packet_uplink_assignment_message_content_s_23{
+   ispresent packet_uplink_assignment_message_content_s_24_tag;
+   union packet_uplink_assignment_message_content_s_24_value{
+      U32 contention_resolution_tlli;
+   }packet_uplink_assignment_message_content_s_24_value;
+   ispresent packet_uplink_assignment_message_content_s_25_tag;
+   union packet_uplink_assignment_message_content_s_25_value{
+      compact_reduced_ma_ie compact_reduced_ma;
+   }packet_uplink_assignment_message_content_s_25_value;
+   U8 egprs_channel_coding_command;
+   U8 resegment;
+   U8 egprs_window_size;
+   ispresent packet_uplink_assignment_message_content_s_26_tag;
+   union packet_uplink_assignment_message_content_s_26_value{
+      struct access_technologies_request_struct * access_technologies_request;
+   }packet_uplink_assignment_message_content_s_26_value;
+   U8 arac_retransmission_request;
+   U8 tlli_block_channel_coding;
+   ispresent packet_uplink_assignment_message_content_s_27_tag;
+   union packet_uplink_assignment_message_content_s_27_value{
+      U8 bep_period2;
+   }packet_uplink_assignment_message_content_s_27_value;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent packet_uplink_assignment_message_content_s_28_tag;
+   union packet_uplink_assignment_message_content_s_28_value{
+      U8 packet_extended_timing_advance;
+   }packet_uplink_assignment_message_content_s_28_value;
+   ispresent packet_uplink_assignment_message_content_s_29_tag;
+   union packet_uplink_assignment_message_content_s_29_value{
+      frequency_parameters_ie frequency_parameters;
+   }packet_uplink_assignment_message_content_s_29_value;
+   packet_uplink_assignment_message_content_s_30_enum packet_uplink_assignment_message_content_s_30_tag;
+   union packet_uplink_assignment_message_content_s_30_value{
+      dynamic_allocation_struct dynamic_allocation;
+      multi_block_allocation_struct multi_block_allocation;
+      fixed_allocation_struct_2 fixed_allocation;
+   }packet_uplink_assignment_message_content_s_30_value;
+   packet_uplink_assignment_message_content_s_31_enum packet_uplink_assignment_message_content_s_31_tag;
+   union packet_uplink_assignment_message_content_s_31_value{
+      packet_uplink_assignment_message_content_s_31_bit m_packet_uplink_assignment_message_content_s_31_bit;
+      packet_uplink_assignment_message_content_s_32 m_packet_uplink_assignment_message_content_s_32;
+   }packet_uplink_assignment_message_content_s_31_value;
+}packet_uplink_assignment_message_content_s_23;
+
+typedef struct packet_uplink_assignment_message_content_s_49{
+   U8 rtti_usf_mode;
+   pdch_pairs_description_ie pdch_pairs_description;
+}packet_uplink_assignment_message_content_s_49;
+
+typedef enum {
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_00,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_51,
+   PACKET_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}packet_uplink_assignment_message_content_s_50_enum;
+
+typedef struct packet_uplink_assignment_message_content_s_51{
+   ispresent packet_uplink_assignment_message_content_s_52_tag;
+   union packet_uplink_assignment_message_content_s_52_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }packet_uplink_assignment_message_content_s_52_value;
+   ispresent packet_uplink_assignment_message_content_s_53_tag;
+   union packet_uplink_assignment_message_content_s_53_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }packet_uplink_assignment_message_content_s_53_value;
+}packet_uplink_assignment_message_content_s_51;
+
+typedef struct packet_uplink_assignment_message_content_s_59{
+   U8 reported_timeslots_c1;
+   ispresent packet_uplink_assignment_message_content_s_60_tag;
+   union packet_uplink_assignment_message_content_s_60_value{
+      U8 reported_timeslots_c2;
+   }packet_uplink_assignment_message_content_s_60_value;
+   U8 tsh;
+}packet_uplink_assignment_message_content_s_59;
+
+typedef struct packet_uplink_assignment_message_content_s_58{
+   ispresent packet_uplink_assignment_message_content_s_58_tag;
+   union packet_uplink_assignment_message_content_s_58_value{
+      packet_uplink_assignment_message_content_s_59 m_packet_uplink_assignment_message_content_s_59;
+   }packet_uplink_assignment_message_content_s_58_value;
+}packet_uplink_assignment_message_content_s_58;
+
+typedef struct packet_uplink_assignment_message_content_s_43{
+   ispresent packet_uplink_assignment_message_content_s_44_tag;
+   union packet_uplink_assignment_message_content_s_44_value{
+      U32 contention_resolution_tlli;
+   }packet_uplink_assignment_message_content_s_44_value;
+   U8 resegment;
+   assignment_info_struct assignment_info;
+   egprs_window_size_ie egprs_window_size;
+   ispresent packet_uplink_assignment_message_content_s_45_tag;
+   union packet_uplink_assignment_message_content_s_45_value{
+      struct access_technologies_request_struct * access_technologies_request;
+   }packet_uplink_assignment_message_content_s_45_value;
+   U8 arac_retransmission_request;
+   U8 tlli_block_channel_coding;
+   ispresent packet_uplink_assignment_message_content_s_46_tag;
+   union packet_uplink_assignment_message_content_s_46_value{
+      U8 bep_period2;
+   }packet_uplink_assignment_message_content_s_46_value;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent packet_uplink_assignment_message_content_s_47_tag;
+   union packet_uplink_assignment_message_content_s_47_value{
+      U8 packet_extended_timing_advance;
+   }packet_uplink_assignment_message_content_s_47_value;
+   ispresent packet_uplink_assignment_message_content_s_48_tag;
+   union packet_uplink_assignment_message_content_s_48_value{
+      packet_uplink_assignment_message_content_s_49 m_packet_uplink_assignment_message_content_s_49;
+   }packet_uplink_assignment_message_content_s_48_value;
+   dynamic_allocation_2_struct dynamic_allocation_2;
+   egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   packet_uplink_assignment_message_content_s_50_enum packet_uplink_assignment_message_content_s_50_tag;
+   union packet_uplink_assignment_message_content_s_50_value{
+      packet_uplink_assignment_message_content_s_51 m_packet_uplink_assignment_message_content_s_51;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }packet_uplink_assignment_message_content_s_50_value;
+   ispresent packet_uplink_assignment_message_content_s_54_tag;
+   union packet_uplink_assignment_message_content_s_54_value{
+      U8 pfi;
+   }packet_uplink_assignment_message_content_s_54_value;
+   ispresent packet_uplink_assignment_message_content_s_55_tag;
+   union packet_uplink_assignment_message_content_s_55_value{
+      U8 rlc_mode;
+   }packet_uplink_assignment_message_content_s_55_value;
+   ispresent packet_uplink_assignment_message_content_s_56_tag;
+   union packet_uplink_assignment_message_content_s_56_value{
+      U8 npm_transfer_time;
+   }packet_uplink_assignment_message_content_s_56_value;
+   ispresent packet_uplink_assignment_message_content_s_57_tag;
+   union packet_uplink_assignment_message_content_s_57_value{
+      packet_uplink_assignment_message_content_s_58 m_packet_uplink_assignment_message_content_s_58;
+   }packet_uplink_assignment_message_content_s_57_value;
+   egprs_level_ie uplink_egprs_level;
+   ispresent packet_uplink_assignment_message_content_s_61_tag;
+   union packet_uplink_assignment_message_content_s_61_value{
+      pulse_format_ie pulse_format;
+   }packet_uplink_assignment_message_content_s_61_value;
+}packet_uplink_assignment_message_content_s_43;
+
+typedef struct packet_uplink_assignment_message_content_s_21{
+   packet_uplink_assignment_message_content_s_21_enum packet_uplink_assignment_message_content_s_21_tag;
+   union packet_uplink_assignment_message_content_s_21_value{
+      packet_uplink_assignment_message_content_s_23 m_packet_uplink_assignment_message_content_s_23;
+      packet_uplink_assignment_message_content_s_43 m_packet_uplink_assignment_message_content_s_43;
+   }packet_uplink_assignment_message_content_s_21_value;
+}packet_uplink_assignment_message_content_s_21;
+
+/* SEQUENCE packet uplink assignment message content */
+typedef struct packet_uplink_assignment_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent packet_uplink_assignment_message_content_s_1_tag;
+   union packet_uplink_assignment_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }packet_uplink_assignment_message_content_s_1_value;
+   packet_uplink_assignment_message_content_s_4_enum packet_uplink_assignment_message_content_s_4_tag;
+   union packet_uplink_assignment_message_content_s_4_value{
+      global_tfi_ie global_tfi;
+      U32 tlli___g_rnti;
+      U16 tqi;
+      packet_request_reference_ie packet_request_reference;
+   }packet_uplink_assignment_message_content_s_4_value;
+   packet_uplink_assignment_message_content_s_5_enum packet_uplink_assignment_message_content_s_5_tag;
+   union packet_uplink_assignment_message_content_s_5_value{
+      packet_uplink_assignment_message_content_s_7 m_packet_uplink_assignment_message_content_s_7;
+      packet_uplink_assignment_message_content_s_21 m_packet_uplink_assignment_message_content_s_21;
+   }packet_uplink_assignment_message_content_s_5_value;
+}packet_uplink_assignment_message_content;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_GLOBAL_TFI,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_5
+}multiple_tbf_downlink_assignment_message_content_s_4_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_5{
+   tlli___g_rnti_ie tlli___g_rnti;
+   U8 g_rnti_extension;
+}multiple_tbf_downlink_assignment_message_content_s_5;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_7,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_25
+}multiple_tbf_downlink_assignment_message_content_s_6_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_10{
+   U8 p0;
+   U8 pr_mode;
+}multiple_tbf_downlink_assignment_message_content_s_10;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_16{
+   ispresent multiple_tbf_downlink_assignment_message_content_s_17_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_17_value{
+      egprs_window_size_ie egprs_window_size;
+   }multiple_tbf_downlink_assignment_message_content_s_17_value;
+   U8 link_quality_measurement_mode;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_18_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_18_value{
+      U8 bep_period2;
+   }multiple_tbf_downlink_assignment_message_content_s_18_value;
+}multiple_tbf_downlink_assignment_message_content_s_16;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_22_NULL,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_22_BIT,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_23
+}multiple_tbf_downlink_assignment_message_content_s_22_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_22_bit{
+   U16 numElements_multiple_tbf_downlink_assignment_message_content_s_22_bit;
+   U8 * multiple_tbf_downlink_assignment_message_content_s_22_bit;
+}multiple_tbf_downlink_assignment_message_content_s_22_bit;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_24{
+   ispresent multiple_tbf_downlink_assignment_message_content_s_24_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_24_value{
+      U8 npm_transfer_time;
+   }multiple_tbf_downlink_assignment_message_content_s_24_value;
+}multiple_tbf_downlink_assignment_message_content_s_24;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_23{
+   U16 numElements_m_multiple_tbf_downlink_assignment_message_content_s_24;
+   multiple_tbf_downlink_assignment_message_content_s_24 * m_multiple_tbf_downlink_assignment_message_content_s_24;
+}multiple_tbf_downlink_assignment_message_content_s_23;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_8{
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_9_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_9_value{
+      multiple_tbf_downlink_assignment_message_content_s_10 m_multiple_tbf_downlink_assignment_message_content_s_10;
+   }multiple_tbf_downlink_assignment_message_content_s_9_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_12_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_12_value{
+      frequency_parameters_ie frequency_parameters;
+   }multiple_tbf_downlink_assignment_message_content_s_12_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_13_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_13_value{
+      power_control_parameters_ie power_control_parameters;
+   }multiple_tbf_downlink_assignment_message_content_s_13_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_14_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_14_value{
+      starting_frame_number_description_ie tbf_starting_time;
+   }multiple_tbf_downlink_assignment_message_content_s_14_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_15_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_15_value{
+      multiple_tbf_downlink_assignment_message_content_s_16 m_multiple_tbf_downlink_assignment_message_content_s_16;
+   }multiple_tbf_downlink_assignment_message_content_s_15_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_19_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_19_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_downlink_assignment_message_content_s_19_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_20_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_20_value{
+      U8 uplink_control_timeslot;
+   }multiple_tbf_downlink_assignment_message_content_s_20_value;
+   U16 numElements_multiple_downlink_tbf_assignment;
+   multiple_downlink_tbf_assignment_struct * multiple_downlink_tbf_assignment;
+   multiple_tbf_downlink_assignment_message_content_s_22_enum multiple_tbf_downlink_assignment_message_content_s_22_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_22_value{
+      multiple_tbf_downlink_assignment_message_content_s_22_bit m_multiple_tbf_downlink_assignment_message_content_s_22_bit;
+      multiple_tbf_downlink_assignment_message_content_s_23 m_multiple_tbf_downlink_assignment_message_content_s_23;
+   }multiple_tbf_downlink_assignment_message_content_s_22_value;
+}multiple_tbf_downlink_assignment_message_content_s_8;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_32{
+   U8 p0_c2;
+   U8 pr_mode_c2;
+}multiple_tbf_downlink_assignment_message_content_s_32;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_30{
+   U8 p0_c1;
+   U8 pr_mode_c1;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_31_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_31_value{
+      multiple_tbf_downlink_assignment_message_content_s_32 m_multiple_tbf_downlink_assignment_message_content_s_32;
+   }multiple_tbf_downlink_assignment_message_content_s_31_value;
+}multiple_tbf_downlink_assignment_message_content_s_30;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_00,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_35,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}multiple_tbf_downlink_assignment_message_content_s_34_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_35{
+   ispresent multiple_tbf_downlink_assignment_message_content_s_36_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_36_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }multiple_tbf_downlink_assignment_message_content_s_36_value;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_37_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_37_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }multiple_tbf_downlink_assignment_message_content_s_37_value;
+}multiple_tbf_downlink_assignment_message_content_s_35;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_41{
+   ispresent multiple_tbf_downlink_assignment_message_content_s_42_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_42_value{
+      egprs_window_size_ie egprs_window_size;
+   }multiple_tbf_downlink_assignment_message_content_s_42_value;
+   U8 link_quality_measurement_mode;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_43_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_43_value{
+      U8 bep_period2;
+   }multiple_tbf_downlink_assignment_message_content_s_43_value;
+}multiple_tbf_downlink_assignment_message_content_s_41;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_48{
+   U8 fanr;
+   U16 numElements_btti_multiple_downlink_assignment;
+   btti_multiple_downlink_assignment_struct * btti_multiple_downlink_assignment;
+}multiple_tbf_downlink_assignment_message_content_s_48;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_52,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_56
+}multiple_tbf_downlink_assignment_message_content_s_51_enum;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_001,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_01,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_54
+}multiple_tbf_downlink_assignment_message_content_s_53_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_54{
+   U8 downlink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c1;
+}multiple_tbf_downlink_assignment_message_content_s_54;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_52{
+   multiple_tbf_downlink_assignment_message_content_s_53_enum multiple_tbf_downlink_assignment_message_content_s_53_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_53_value{
+      multiple_tbf_downlink_assignment_message_content_s_54 m_multiple_tbf_downlink_assignment_message_content_s_54;
+   }multiple_tbf_downlink_assignment_message_content_s_53_value;
+   U16 numElements_rtti_multiple_downlink_assignment_sc;
+   rtti_multiple_downlink_assignment_sc_struct * rtti_multiple_downlink_assignment_sc;
+}multiple_tbf_downlink_assignment_message_content_s_52;
+
+typedef enum {
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_002,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_011,
+   MULTIPLE_TBF_DOWNLINK_ASSIGNMENT_MESSAGE_CONTENT_S_58
+}multiple_tbf_downlink_assignment_message_content_s_57_enum;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_58{
+   U8 downlink_pdch_pairs_c1;
+   U8 downlink_pdch_pairs_c2;
+   U8 uplink_pdch_pairs_c1;
+   U8 uplink_pdch_pairs_c2;
+}multiple_tbf_downlink_assignment_message_content_s_58;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_56{
+   multiple_tbf_downlink_assignment_message_content_s_57_enum multiple_tbf_downlink_assignment_message_content_s_57_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_57_value{
+      multiple_tbf_downlink_assignment_message_content_s_58 m_multiple_tbf_downlink_assignment_message_content_s_58;
+   }multiple_tbf_downlink_assignment_message_content_s_57_value;
+   U16 numElements_rtti_multiple_downlink_assignment_dc;
+   rtti_multiple_downlink_assignment_dc_struct * rtti_multiple_downlink_assignment_dc;
+}multiple_tbf_downlink_assignment_message_content_s_56;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_51{
+   multiple_tbf_downlink_assignment_message_content_s_51_enum multiple_tbf_downlink_assignment_message_content_s_51_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_51_value{
+      multiple_tbf_downlink_assignment_message_content_s_52 m_multiple_tbf_downlink_assignment_message_content_s_52;
+      multiple_tbf_downlink_assignment_message_content_s_56 m_multiple_tbf_downlink_assignment_message_content_s_56;
+   }multiple_tbf_downlink_assignment_message_content_s_51_value;
+}multiple_tbf_downlink_assignment_message_content_s_51;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_33{
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_34_present; //truncation or optional 
+   multiple_tbf_downlink_assignment_message_content_s_34_enum multiple_tbf_downlink_assignment_message_content_s_34_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_34_value{
+      multiple_tbf_downlink_assignment_message_content_s_35 m_multiple_tbf_downlink_assignment_message_content_s_35;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }multiple_tbf_downlink_assignment_message_content_s_34_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_38_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_38_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_38_value{
+      power_control_parameters_ie power_control_parameters_c1;
+   }multiple_tbf_downlink_assignment_message_content_s_38_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_39_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_39_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_39_value{
+      power_control_parameters_ie power_control_parameters_c2;
+   }multiple_tbf_downlink_assignment_message_content_s_39_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_40_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_40_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_40_value{
+      multiple_tbf_downlink_assignment_message_content_s_41 m_multiple_tbf_downlink_assignment_message_content_s_41;
+   }multiple_tbf_downlink_assignment_message_content_s_40_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_44_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_44_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_44_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_downlink_assignment_message_content_s_44_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_45_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_45_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_45_value{
+      U8 uplink_control_timeslot_c1;
+   }multiple_tbf_downlink_assignment_message_content_s_45_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_46_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_46_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_46_value{
+      U8 uplink_control_timeslot_c2;
+   }multiple_tbf_downlink_assignment_message_content_s_46_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_47_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_47_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_47_value{
+      multiple_tbf_downlink_assignment_message_content_s_48 m_multiple_tbf_downlink_assignment_message_content_s_48;
+   }multiple_tbf_downlink_assignment_message_content_s_47_value;
+   Bool is_multiple_tbf_downlink_assignment_message_content_s_50_present; //truncation or optional 
+   ispresent multiple_tbf_downlink_assignment_message_content_s_50_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_50_value{
+      multiple_tbf_downlink_assignment_message_content_s_51 m_multiple_tbf_downlink_assignment_message_content_s_51;
+   }multiple_tbf_downlink_assignment_message_content_s_50_value;
+   Bool is_downlink_egprs_level_present; //truncation or optional 
+   egprs_level_ie downlink_egprs_level;
+}multiple_tbf_downlink_assignment_message_content_s_33;
+
+typedef struct multiple_tbf_downlink_assignment_message_content_s_28{
+   packet_timing_advance_ie packet_timing_advance;
+   assignment_info_struct assignment_info;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_29_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_29_value{
+      multiple_tbf_downlink_assignment_message_content_s_30 m_multiple_tbf_downlink_assignment_message_content_s_30;
+   }multiple_tbf_downlink_assignment_message_content_s_29_value;
+   multiple_tbf_downlink_assignment_message_content_s_33 m_multiple_tbf_downlink_assignment_message_content_s_33; //truncation ;
+}multiple_tbf_downlink_assignment_message_content_s_28;
+
+/* SEQUENCE multiple tbf downlink assignment message content */
+typedef struct multiple_tbf_downlink_assignment_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent multiple_tbf_downlink_assignment_message_content_s_1_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }multiple_tbf_downlink_assignment_message_content_s_1_value;
+   multiple_tbf_downlink_assignment_message_content_s_4_enum multiple_tbf_downlink_assignment_message_content_s_4_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_4_value{
+      global_tfi_ie global_tfi;
+      multiple_tbf_downlink_assignment_message_content_s_5 m_multiple_tbf_downlink_assignment_message_content_s_5;
+   }multiple_tbf_downlink_assignment_message_content_s_4_value;
+   multiple_tbf_downlink_assignment_message_content_s_6_enum multiple_tbf_downlink_assignment_message_content_s_6_tag;
+   union multiple_tbf_downlink_assignment_message_content_s_6_value{
+      multiple_tbf_downlink_assignment_message_content_s_8 m_multiple_tbf_downlink_assignment_message_content_s_8;
+      multiple_tbf_downlink_assignment_message_content_s_28 m_multiple_tbf_downlink_assignment_message_content_s_28;
+   }multiple_tbf_downlink_assignment_message_content_s_6_value;
+}multiple_tbf_downlink_assignment_message_content;
+
+typedef enum {
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_GLOBAL_TFI,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_5
+}multiple_tbf_uplink_assignment_message_content_s_4_enum;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_5{
+   tlli___g_rnti_ie tlli___g_rnti;
+   U8 g_rnti_extension;
+}multiple_tbf_uplink_assignment_message_content_s_5;
+
+typedef enum {
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_7,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_13
+}multiple_tbf_uplink_assignment_message_content_s_6_enum;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_8{
+   ispresent multiple_tbf_uplink_assignment_message_content_s_9_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_9_value{
+      U8 channel_coding_command;
+   }multiple_tbf_uplink_assignment_message_content_s_9_value;
+   U8 tlli_block_channel_coding;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_10_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_10_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_uplink_assignment_message_content_s_10_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_11_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_11_value{
+      frequency_parameters_ie frequency_parameters;
+   }multiple_tbf_uplink_assignment_message_content_s_11_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_12_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_12_value{
+      uplink_assignment_struct uplink_tbf_assignment;
+   }multiple_tbf_uplink_assignment_message_content_s_12_value;
+}multiple_tbf_uplink_assignment_message_content_s_8;
+
+typedef enum {
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_14,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_25
+}multiple_tbf_uplink_assignment_message_content_s_13_enum;
+
+typedef enum {
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_22_NULL,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_22_BIT,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_23
+}multiple_tbf_uplink_assignment_message_content_s_22_enum;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_22_bit{
+   U16 numElements_multiple_tbf_uplink_assignment_message_content_s_22_bit;
+   U8 * multiple_tbf_uplink_assignment_message_content_s_22_bit;
+}multiple_tbf_uplink_assignment_message_content_s_22_bit;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_24{
+   ispresent multiple_tbf_uplink_assignment_message_content_s_24_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_24_value{
+      U8 npm_transfer_time;
+   }multiple_tbf_uplink_assignment_message_content_s_24_value;
+}multiple_tbf_uplink_assignment_message_content_s_24;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_23{
+   U16 numElements_m_multiple_tbf_uplink_assignment_message_content_s_24;
+   multiple_tbf_uplink_assignment_message_content_s_24 * m_multiple_tbf_uplink_assignment_message_content_s_24;
+}multiple_tbf_uplink_assignment_message_content_s_23;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_15{
+   ispresent multiple_tbf_uplink_assignment_message_content_s_16_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_16_value{
+      egprs_window_size_ie egprs_window_size;
+   }multiple_tbf_uplink_assignment_message_content_s_16_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_17_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_17_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }multiple_tbf_uplink_assignment_message_content_s_17_value;
+   resegment_ie resegment;
+   U8 tlli_block_channel_coding;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_18_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_18_value{
+      U8 bep_period2;
+   }multiple_tbf_uplink_assignment_message_content_s_18_value;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_19_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_19_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_uplink_assignment_message_content_s_19_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_20_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_20_value{
+      frequency_parameters_ie frequency_parameters;
+   }multiple_tbf_uplink_assignment_message_content_s_20_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_21_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_21_value{
+      uplink_assignment_struct uplink_tbf_assignment;
+   }multiple_tbf_uplink_assignment_message_content_s_21_value;
+   multiple_tbf_uplink_assignment_message_content_s_22_enum multiple_tbf_uplink_assignment_message_content_s_22_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_22_value{
+      multiple_tbf_uplink_assignment_message_content_s_22_bit m_multiple_tbf_uplink_assignment_message_content_s_22_bit;
+      multiple_tbf_uplink_assignment_message_content_s_23 m_multiple_tbf_uplink_assignment_message_content_s_23;
+   }multiple_tbf_uplink_assignment_message_content_s_22_value;
+}multiple_tbf_uplink_assignment_message_content_s_15;
+
+typedef enum {
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_CONCAT_00,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_S_32,
+   MULTIPLE_TBF_UPLINK_ASSIGNMENT_MESSAGE_CONTENT_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}multiple_tbf_uplink_assignment_message_content_s_31_enum;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_32{
+   ispresent multiple_tbf_uplink_assignment_message_content_s_33_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_33_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }multiple_tbf_uplink_assignment_message_content_s_33_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_34_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_34_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }multiple_tbf_uplink_assignment_message_content_s_34_value;
+}multiple_tbf_uplink_assignment_message_content_s_32;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_26{
+   ispresent multiple_tbf_uplink_assignment_message_content_s_27_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_27_value{
+      egprs_window_size_ie egprs_window_size;
+   }multiple_tbf_uplink_assignment_message_content_s_27_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_28_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_28_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }multiple_tbf_uplink_assignment_message_content_s_28_value;
+   assignment_info_struct assignment_info;
+   U8 resegment;
+   U8 tlli_block_channel_coding;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_29_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_29_value{
+      U8 bep_period2;
+   }multiple_tbf_uplink_assignment_message_content_s_29_value;
+   packet_timing_advance_ie packet_timing_advance;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_30_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_30_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_uplink_assignment_message_content_s_30_value;
+   multiple_tbf_uplink_assignment_message_content_s_31_enum multiple_tbf_uplink_assignment_message_content_s_31_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_31_value{
+      multiple_tbf_uplink_assignment_message_content_s_32 m_multiple_tbf_uplink_assignment_message_content_s_32;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }multiple_tbf_uplink_assignment_message_content_s_31_value;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_35_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_35_value{
+      uplink_assignment_2_struct uplink_tbf_assignment_2;
+   }multiple_tbf_uplink_assignment_message_content_s_35_value;
+   egprs_level_ie uplink_egprs_level;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_36_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_36_value{
+      pulse_format_ie pulse_format;
+   }multiple_tbf_uplink_assignment_message_content_s_36_value;
+}multiple_tbf_uplink_assignment_message_content_s_26;
+
+typedef struct multiple_tbf_uplink_assignment_message_content_s_13{
+   multiple_tbf_uplink_assignment_message_content_s_13_enum multiple_tbf_uplink_assignment_message_content_s_13_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_13_value{
+      multiple_tbf_uplink_assignment_message_content_s_15 m_multiple_tbf_uplink_assignment_message_content_s_15;
+      multiple_tbf_uplink_assignment_message_content_s_26 m_multiple_tbf_uplink_assignment_message_content_s_26;
+   }multiple_tbf_uplink_assignment_message_content_s_13_value;
+}multiple_tbf_uplink_assignment_message_content_s_13;
+
+/* SEQUENCE multiple tbf uplink assignment message content */
+typedef struct multiple_tbf_uplink_assignment_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   ispresent multiple_tbf_uplink_assignment_message_content_s_1_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_1_value{
+      persistence_level_ie persistence_level;
+   }multiple_tbf_uplink_assignment_message_content_s_1_value;
+   multiple_tbf_uplink_assignment_message_content_s_4_enum multiple_tbf_uplink_assignment_message_content_s_4_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_4_value{
+      global_tfi_ie global_tfi;
+      multiple_tbf_uplink_assignment_message_content_s_5 m_multiple_tbf_uplink_assignment_message_content_s_5;
+   }multiple_tbf_uplink_assignment_message_content_s_4_value;
+   multiple_tbf_uplink_assignment_message_content_s_6_enum multiple_tbf_uplink_assignment_message_content_s_6_tag;
+   union multiple_tbf_uplink_assignment_message_content_s_6_value{
+      multiple_tbf_uplink_assignment_message_content_s_8 m_multiple_tbf_uplink_assignment_message_content_s_8;
+      multiple_tbf_uplink_assignment_message_content_s_13 m_multiple_tbf_uplink_assignment_message_content_s_13;
+   }multiple_tbf_uplink_assignment_message_content_s_6_value;
+}multiple_tbf_uplink_assignment_message_content;
+
+
+typedef enum {
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_4,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_10
+}multiple_tbf_timeslot_reconfigure_message_content_s_3_enum;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_5{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_6_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_6_value{
+      U8 channel_coding_command;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_6_value;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_7_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_7_value{
+      frequency_parameters_ie frequency_parameters;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_7_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_8_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_8_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_8_value;
+   U16 numElements_multiple_downlink_assignment;
+   multiple_downlink_assignment_struct * multiple_downlink_assignment;
+   multiple_uplink_assignment_struct multiple_uplink_assignment;
+}multiple_tbf_timeslot_reconfigure_message_content_s_5;
+
+typedef enum {
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_11,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_25
+}multiple_tbf_timeslot_reconfigure_message_content_s_10_enum;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_16{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_17_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_17_value{
+      egprs_window_size_ie uplink_egprs_window_size;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_17_value;
+   U8 link_quality_measurement_mode;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_18_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_18_value{
+      U8 bep_period2;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_18_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_16;
+
+typedef enum {
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_22_NULL,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_22_BIT,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_23
+}multiple_tbf_timeslot_reconfigure_message_content_s_22_enum;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_22_bit{
+   U16 numElements_multiple_tbf_timeslot_reconfigure_message_content_s_22_bit;
+   U8 * multiple_tbf_timeslot_reconfigure_message_content_s_22_bit;
+}multiple_tbf_timeslot_reconfigure_message_content_s_22_bit;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_24{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_24_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_24_value{
+      U8 npm_transfer_time;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_24_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_24;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_23{
+   U16 numElements_m_multiple_tbf_timeslot_reconfigure_message_content_s_24;
+   multiple_tbf_timeslot_reconfigure_message_content_s_24 * m_multiple_tbf_timeslot_reconfigure_message_content_s_24;
+}multiple_tbf_timeslot_reconfigure_message_content_s_23;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_12{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_13_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_13_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_13_value;
+   U8 resegment;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_14_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_14_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_14_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_15_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_15_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_16 m_multiple_tbf_timeslot_reconfigure_message_content_s_16;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_15_value;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_19_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_19_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_19_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_20_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_20_value{
+      frequency_parameters_ie frequency_parameters;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_20_value;
+   U16 numElements_multiple_downlink_assignment;
+   multiple_downlink_assignment_struct * multiple_downlink_assignment;
+   multiple_uplink_assignment_struct multiple_uplink_assignment;
+   multiple_tbf_timeslot_reconfigure_message_content_s_22_enum multiple_tbf_timeslot_reconfigure_message_content_s_22_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_22_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_22_bit m_multiple_tbf_timeslot_reconfigure_message_content_s_22_bit;
+      multiple_tbf_timeslot_reconfigure_message_content_s_23 m_multiple_tbf_timeslot_reconfigure_message_content_s_23;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_22_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_12;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_30{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_31_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_31_value{
+      egprs_window_size_ie uplink_egprs_window_size;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_31_value;
+   U8 link_quality_measurement_mode;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_32_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_32_value{
+      U8 bep_period2;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_32_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_30;
+
+typedef enum {
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_CONCAT_00,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_S_35,
+   MULTIPLE_TBF_TIMESLOT_RECONFIGURE_MESSAGE_CONTENT_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}multiple_tbf_timeslot_reconfigure_message_content_s_34_enum;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_35{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_36_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_36_value{
+      frequency_parameters_ie frequency_parameters_c1;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_36_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_37_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_37_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_37_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_35;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_39{
+   U8 fanr;
+   U16 numElements_btti_multiple_downlink_assignment;
+   btti_multiple_downlink_assignment_struct_2 * btti_multiple_downlink_assignment;
+}multiple_tbf_timeslot_reconfigure_message_content_s_39;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_26{
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_27_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_27_value{
+      egprs_modulation_and_coding_ie egprs_channel_coding_command;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_27_value;
+   U8 resegment;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_28_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_28_value{
+      egprs_window_size_ie downlink_egprs_window_size;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_28_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_29_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_29_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_30 m_multiple_tbf_timeslot_reconfigure_message_content_s_30;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_29_value;
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_33_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_33_value{
+      U8 packet_extended_timing_advance;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_33_value;
+   multiple_tbf_timeslot_reconfigure_message_content_s_34_enum multiple_tbf_timeslot_reconfigure_message_content_s_34_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_34_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_35 m_multiple_tbf_timeslot_reconfigure_message_content_s_35;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_34_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_38_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_38_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_39 m_multiple_tbf_timeslot_reconfigure_message_content_s_39;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_38_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_41_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_41_value{
+      pdch_pairs_description_ie_for_mttr pdch_pairs_description_for_mttr;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_41_value;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_42_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_42_value{
+      multiple_uplink_assignment_2_struct multiple_uplink_assignment;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_42_value;
+   egprs_level_ie uplink_egprs_level;
+   egprs_level_ie downlink_egprs_level;
+   ispresent multiple_tbf_timeslot_reconfigure_message_content_s_43_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_43_value{
+      pulse_format_ie pulse_format;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_43_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_26;
+
+typedef struct multiple_tbf_timeslot_reconfigure_message_content_s_10{
+   multiple_tbf_timeslot_reconfigure_message_content_s_10_enum multiple_tbf_timeslot_reconfigure_message_content_s_10_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_10_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_12 m_multiple_tbf_timeslot_reconfigure_message_content_s_12;
+      multiple_tbf_timeslot_reconfigure_message_content_s_26 m_multiple_tbf_timeslot_reconfigure_message_content_s_26;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_10_value;
+}multiple_tbf_timeslot_reconfigure_message_content_s_10;
+
+/* SEQUENCE multiple tbf timeslot reconfigure message content */
+typedef struct multiple_tbf_timeslot_reconfigure_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   multiple_tbf_timeslot_reconfigure_message_content_s_3_enum multiple_tbf_timeslot_reconfigure_message_content_s_3_tag;
+   union multiple_tbf_timeslot_reconfigure_message_content_s_3_value{
+      multiple_tbf_timeslot_reconfigure_message_content_s_5 m_multiple_tbf_timeslot_reconfigure_message_content_s_5;
+      multiple_tbf_timeslot_reconfigure_message_content_s_10 m_multiple_tbf_timeslot_reconfigure_message_content_s_10;
+   }multiple_tbf_timeslot_reconfigure_message_content_s_3_value;
+}multiple_tbf_timeslot_reconfigure_message_content;
+
+typedef struct nc_measurement_parameters_struct_s_2{
+   U8 nc__non_drx_period;
+   U8 nc_reporting_period_i;
+   U8 nc_reporting_period_t;
+}nc_measurement_parameters_struct_s_2;
+
+/* SEQUENCE nc measurement parameters struct */
+typedef struct nc_measurement_parameters_struct{
+   U8 network_control_order;
+   ispresent nc_measurement_parameters_struct_s_1_tag;
+   union nc_measurement_parameters_struct_s_1_value{
+      nc_measurement_parameters_struct_s_2 m_nc_measurement_parameters_struct_s_2;
+   }nc_measurement_parameters_struct_s_1_value;
+   ispresent nc_measurement_parameters_struct_s_3_tag;
+   union nc_measurement_parameters_struct_s_3_value{
+      nc_frequency_list_struct nc_frequency_list;
+   }nc_measurement_parameters_struct_s_3_value;
+}nc_measurement_parameters_struct;
+
+typedef enum {
+   ENH_MEASUREMENT_PARAMETERS_STRUCT_S_2,
+   ENH_MEASUREMENT_PARAMETERS_STRUCT_PSI3_CHANGE_MARK
+}enh_measurement_parameters_struct_s_1_enum;
+
+typedef struct enh_measurement_parameters_struct_s_2{
+   U8 ba_ind;
+   U8 p_3_g_ba_ind;
+}enh_measurement_parameters_struct_s_2;
+
+/* SEQUENCE enh measurement parameters struct */
+typedef struct enh_measurement_parameters_struct{
+   enh_measurement_parameters_struct_s_1_enum enh_measurement_parameters_struct_s_1_tag;
+   union enh_measurement_parameters_struct_s_1_value{
+      enh_measurement_parameters_struct_s_2 m_enh_measurement_parameters_struct_s_2;
+      U8 psi3_change_mark;
+   }enh_measurement_parameters_struct_s_1_value;
+   U8 pmo_ind;
+   U8 report_type;
+   U8 reporting_rate;
+   U8 invalid_bsic_reporting;
+   ispresent enh_measurement_parameters_struct_s_3_tag;
+   union enh_measurement_parameters_struct_s_3_value{
+      p_3_g_neighbour_cell_description_struct p_3_g_neighbour_cell_description;
+   }enh_measurement_parameters_struct_s_3_value;
+   ispresent enh_measurement_parameters_struct_s_4_tag;
+   union enh_measurement_parameters_struct_s_4_value{
+      gprs_rep_priority_description_struct gprs_rep_priority_description;
+   }enh_measurement_parameters_struct_s_4_value;
+   ispresent enh_measurement_parameters_struct_s_5_tag;
+   union enh_measurement_parameters_struct_s_5_value{
+      gprs_measurement_parameters_description_struct gprs_measurement_parameters_description;
+   }enh_measurement_parameters_struct_s_5_value;
+   ispresent enh_measurement_parameters_struct_s_6_tag;
+   union enh_measurement_parameters_struct_s_6_value{
+      gprs_3_g_measurement_parameters_bis_description_struct gprs_3_g_measurement_parameters_description;
+   }enh_measurement_parameters_struct_s_6_value;
+}enh_measurement_parameters_struct;
+
+/* SEQUENCE nc iu mode only cell list struct */
+typedef struct nc_iu_mode_only_cell_list_struct{
+   U16 numElements_list_of_added_cells;
+   add_iu_mode_only_cell_list_struct * list_of_added_cells;
+}nc_iu_mode_only_cell_list_struct;
+
+/* SEQUENCE pccch description lists struct */
+typedef struct pccch_description_lists_struct{
+   U16 numElements_m_pccch_description_struct_1;
+   pccch_description_struct_1 * m_pccch_description_struct_1;
+}pccch_description_lists_struct;
+
+typedef enum {
+   EXT_MEASUREMENT_ORDER,
+   M_EM1_STRUCT,
+   EXT_MEASUREMENT_PARAMETERS_STRUCT_EXT_MEASUREMENT_ORDER,
+   EXT_MEASUREMENT_PARAMETERS_STRUCT_EXT_MEASUREMENT_ORDER1
+}ext_measurement_parameters_struct_s_0_enum;
+
+/* SEQUENCE ext measurement parameters struct */
+typedef struct ext_measurement_parameters_struct{
+   ext_measurement_parameters_struct_s_0_enum ext_measurement_parameters_struct_s_0_tag;
+   U8 ext_measurement_order;
+   union ext_measurement_parameters_struct_s_0_value{
+      em1_struct m_em1_struct;
+   }ext_measurement_parameters_struct_s_0_value;
+}ext_measurement_parameters_struct;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_1_NULL,
+   GSM_TARGET_CELL_STRUCT_S_1_BIT,
+   GSM_TARGET_CELL_STRUCT_S_2
+}gsm_target_cell_struct_s_1_enum;
+
+typedef struct gsm_target_cell_struct_s_1_bit{
+   U16 numElements_gsm_target_cell_struct_s_1_bit;
+   U8 * gsm_target_cell_struct_s_1_bit;
+}gsm_target_cell_struct_s_1_bit;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_4_NULL,
+   GSM_TARGET_CELL_STRUCT_S_4_BIT,
+   GSM_TARGET_CELL_STRUCT_S_5
+}gsm_target_cell_struct_s_4_enum;
+
+typedef struct gsm_target_cell_struct_s_4_bit{
+   U16 numElements_gsm_target_cell_struct_s_4_bit;
+   U8 * gsm_target_cell_struct_s_4_bit;
+}gsm_target_cell_struct_s_4_bit;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_6_NULL,
+   GSM_TARGET_CELL_STRUCT_S_6_BIT,
+   GSM_TARGET_CELL_STRUCT_S_7
+}gsm_target_cell_struct_s_6_enum;
+
+typedef struct gsm_target_cell_struct_s_6_bit{
+   U16 numElements_gsm_target_cell_struct_s_6_bit;
+   U8 * gsm_target_cell_struct_s_6_bit;
+}gsm_target_cell_struct_s_6_bit;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_10_NULL,
+   GSM_TARGET_CELL_STRUCT_S_10_BIT,
+   GSM_TARGET_CELL_STRUCT_S_11
+}gsm_target_cell_struct_s_10_enum;
+
+typedef struct gsm_target_cell_struct_s_10_bit{
+   U16 numElements_gsm_target_cell_struct_s_10_bit;
+   U8 * gsm_target_cell_struct_s_10_bit;
+}gsm_target_cell_struct_s_10_bit;
+
+typedef struct gsm_target_cell_struct_s_14{
+   iu_mode_neighbour_cell_params_struct m_iu_mode_neighbour_cell_params_struct;
+}gsm_target_cell_struct_s_14;
+
+typedef struct _gsm_target_cell_struct_s_14{
+   U16 numElements_m_gsm_target_cell_struct_s_14;
+   gsm_target_cell_struct_s_14 * m_gsm_target_cell_struct_s_14;
+}_gsm_target_cell_struct_s_14;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_17_NULL,
+   GSM_TARGET_CELL_STRUCT_S_17_BIT,
+   GSM_TARGET_CELL_STRUCT_S_18
+}gsm_target_cell_struct_s_17_enum;
+
+typedef struct gsm_target_cell_struct_s_17_bit{
+   U16 numElements_gsm_target_cell_struct_s_17_bit;
+   U8 * gsm_target_cell_struct_s_17_bit;
+}gsm_target_cell_struct_s_17_bit;
+
+typedef enum {
+   GSM_TARGET_CELL_STRUCT_S_19_NULL,
+   GSM_TARGET_CELL_STRUCT_S_19_BIT,
+   GSM_TARGET_CELL_STRUCT_S_20
+}gsm_target_cell_struct_s_19_enum;
+
+typedef struct gsm_target_cell_struct_s_19_bit{
+   U16 numElements_gsm_target_cell_struct_s_19_bit;
+   U8 * gsm_target_cell_struct_s_19_bit;
+}gsm_target_cell_struct_s_19_bit;
+
+typedef struct gsm_target_cell_struct_s_22{
+   U8 p_700__reporting_offset;
+   U8 p_700__reporting_threshold;
+}gsm_target_cell_struct_s_22;
+
+typedef struct gsm_target_cell_struct_s_24{
+   U8 p_810__reporting_offset;
+   U8 p_810__reporting_threshold;
+}gsm_target_cell_struct_s_24;
+
+typedef struct gsm_target_cell_struct_s_20{
+   ispresent gsm_target_cell_struct_s_21_tag;
+   union gsm_target_cell_struct_s_21_value{
+      gsm_target_cell_struct_s_22 m_gsm_target_cell_struct_s_22;
+   }gsm_target_cell_struct_s_21_value;
+   ispresent gsm_target_cell_struct_s_23_tag;
+   union gsm_target_cell_struct_s_23_value{
+      gsm_target_cell_struct_s_24 m_gsm_target_cell_struct_s_24;
+   }gsm_target_cell_struct_s_23_value;
+}gsm_target_cell_struct_s_20;
+
+typedef struct gsm_target_cell_struct_s_18{
+   U8 p_3_g_ccn_active;
+   gsm_target_cell_struct_s_19_enum gsm_target_cell_struct_s_19_tag;
+   union gsm_target_cell_struct_s_19_value{
+      gsm_target_cell_struct_s_19_bit m_gsm_target_cell_struct_s_19_bit;
+      gsm_target_cell_struct_s_20 m_gsm_target_cell_struct_s_20;
+   }gsm_target_cell_struct_s_19_value;
+}gsm_target_cell_struct_s_18;
+
+typedef struct gsm_target_cell_struct_s_11{
+   ispresent gsm_target_cell_struct_s_12_tag;
+   union gsm_target_cell_struct_s_12_value{
+      U8 g_rnti_extension;
+   }gsm_target_cell_struct_s_12_value;
+   ispresent gsm_target_cell_struct_s_13_tag;
+   union gsm_target_cell_struct_s_13_value{
+      _gsm_target_cell_struct_s_14 m_gsm_target_cell_struct_s_14;
+   }gsm_target_cell_struct_s_13_value;
+   ispresent gsm_target_cell_struct_s_15_tag;
+   union gsm_target_cell_struct_s_15_value{
+      nc_iu_mode_only_cell_list_struct nc_iu_mode_only_capable_cell_list;
+   }gsm_target_cell_struct_s_15_value;
+   ispresent gsm_target_cell_struct_s_16_tag;
+   union gsm_target_cell_struct_s_16_value{
+      gprs_3_g_additional_measurement_parameters_description_2_struct gprs_3_g_additional_measurement_parameters_description_2;
+   }gsm_target_cell_struct_s_16_value;
+   gsm_target_cell_struct_s_17_enum gsm_target_cell_struct_s_17_tag;
+   union gsm_target_cell_struct_s_17_value{
+      gsm_target_cell_struct_s_17_bit m_gsm_target_cell_struct_s_17_bit;
+      gsm_target_cell_struct_s_18 m_gsm_target_cell_struct_s_18;
+   }gsm_target_cell_struct_s_17_value;
+}gsm_target_cell_struct_s_11;
+
+typedef struct gsm_target_cell_struct_s_7{
+   U8 ccn_active;
+   ispresent gsm_target_cell_struct_s_8_tag;
+   union gsm_target_cell_struct_s_8_value{
+      U8 container_id;
+   }gsm_target_cell_struct_s_8_value;
+   ispresent gsm_target_cell_struct_s_9_tag;
+   union gsm_target_cell_struct_s_9_value{
+      ccn_support_description_struct ccn_support_description;
+   }gsm_target_cell_struct_s_9_value;
+   gsm_target_cell_struct_s_10_enum gsm_target_cell_struct_s_10_tag;
+   union gsm_target_cell_struct_s_10_value{
+      gsm_target_cell_struct_s_10_bit m_gsm_target_cell_struct_s_10_bit;
+      gsm_target_cell_struct_s_11 m_gsm_target_cell_struct_s_11;
+   }gsm_target_cell_struct_s_10_value;
+}gsm_target_cell_struct_s_7;
+
+typedef struct gsm_target_cell_struct_s_5{
+   enh_measurement_parameters_struct enh_measurement_parameters;
+   gsm_target_cell_struct_s_6_enum gsm_target_cell_struct_s_6_tag;
+   union gsm_target_cell_struct_s_6_value{
+      gsm_target_cell_struct_s_6_bit m_gsm_target_cell_struct_s_6_bit;
+      gsm_target_cell_struct_s_7 m_gsm_target_cell_struct_s_7;
+   }gsm_target_cell_struct_s_6_value;
+}gsm_target_cell_struct_s_5;
+
+typedef struct gsm_target_cell_struct_s_2{
+   ispresent gsm_target_cell_struct_s_3_tag;
+   union gsm_target_cell_struct_s_3_value{
+      lsa_parameters_ie lsa_parameters;
+   }gsm_target_cell_struct_s_3_value;
+   gsm_target_cell_struct_s_4_enum gsm_target_cell_struct_s_4_tag;
+   union gsm_target_cell_struct_s_4_value{
+      gsm_target_cell_struct_s_4_bit m_gsm_target_cell_struct_s_4_bit;
+      gsm_target_cell_struct_s_5 m_gsm_target_cell_struct_s_5;
+   }gsm_target_cell_struct_s_4_value;
+}gsm_target_cell_struct_s_2;
+
+/* SEQUENCE gsm target cell struct */
+typedef struct gsm_target_cell_struct{
+   U16 arfcn;
+   U8 bsic;
+   nc_measurement_parameters_struct nc_measurement_parameters;
+   gsm_target_cell_struct_s_1_enum gsm_target_cell_struct_s_1_tag;
+   union gsm_target_cell_struct_s_1_value{
+      gsm_target_cell_struct_s_1_bit m_gsm_target_cell_struct_s_1_bit;
+      gsm_target_cell_struct_s_2 m_gsm_target_cell_struct_s_2;
+   }gsm_target_cell_struct_s_1_value;
+}gsm_target_cell_struct;
+
+typedef enum {
+   PS_HANDOVER_RADIO_RESOURCES_2_IE_S_6,
+   PS_HANDOVER_RADIO_RESOURCES_2_IE_DUAL_CARRIER_FREQUENCY_PARAMETERS
+}ps_handover_radio_resources_2_ie_s_5_enum;
+
+typedef struct ps_handover_radio_resources_2_ie_s_6{
+   frequency_parameters_ie frequency_parameters_c1;
+   ispresent ps_handover_radio_resources_2_ie_s_7_tag;
+   union ps_handover_radio_resources_2_ie_s_7_value{
+      frequency_parameters_ie frequency_parameters_c2;
+   }ps_handover_radio_resources_2_ie_s_7_value;
+}ps_handover_radio_resources_2_ie_s_6;
+
+typedef struct ps_handover_radio_resources_2_ie_s_9{
+   global_packet_timing_advance_ie global_packet_timing_advance;
+   ispresent ps_handover_radio_resources_2_ie_s_10_tag;
+   union ps_handover_radio_resources_2_ie_s_10_value{
+      U8 packet_extended_timing_advance;
+   }ps_handover_radio_resources_2_ie_s_10_value;
+}ps_handover_radio_resources_2_ie_s_9;
+
+typedef struct ps_handover_radio_resources_2_ie_s_14{
+   U8 extension_length;
+   extension_information m_extension_information;
+}ps_handover_radio_resources_2_ie_s_14;
+
+/* SEQUENCE ps handover radio resources 2 ie */
+typedef struct ps_handover_radio_resources_2_ie{
+   ispresent ps_handover_radio_resources_2_ie_s_1_tag;
+   union ps_handover_radio_resources_2_ie_s_1_value{
+      U8 handover_reference;
+   }ps_handover_radio_resources_2_ie_s_1_value;
+   U16 arfcn;
+   U8 si;
+   U8 nci;
+   U8 bsic;
+   ispresent ps_handover_radio_resources_2_ie_s_2_tag;
+   union ps_handover_radio_resources_2_ie_s_2_value{
+      U8 ccn_active;
+   }ps_handover_radio_resources_2_ie_s_2_value;
+   ispresent ps_handover_radio_resources_2_ie_s_3_tag;
+   union ps_handover_radio_resources_2_ie_s_3_value{
+      U8 p_3_g_ccn_active;
+   }ps_handover_radio_resources_2_ie_s_3_value;
+   ispresent ps_handover_radio_resources_2_ie_s_4_tag;
+   union ps_handover_radio_resources_2_ie_s_4_value{
+      ccn_support_description_struct ccn_support_description;
+   }ps_handover_radio_resources_2_ie_s_4_value;
+   ps_handover_radio_resources_2_ie_s_5_enum ps_handover_radio_resources_2_ie_s_5_tag;
+   union ps_handover_radio_resources_2_ie_s_5_value{
+      ps_handover_radio_resources_2_ie_s_6 m_ps_handover_radio_resources_2_ie_s_6;
+      dual_carrier_frequency_parameters_ie dual_carrier_frequency_parameters;
+   }ps_handover_radio_resources_2_ie_s_5_value;
+   U8 network_control_order;
+   ispresent ps_handover_radio_resources_2_ie_s_8_tag;
+   union ps_handover_radio_resources_2_ie_s_8_value{
+      ps_handover_radio_resources_2_ie_s_9 m_ps_handover_radio_resources_2_ie_s_9;
+   }ps_handover_radio_resources_2_ie_s_8_value;
+   U8 rlc_reset;
+   egprs_level_ie uplink_egprs_level;
+   ispresent ps_handover_radio_resources_2_ie_s_11_tag;
+   union ps_handover_radio_resources_2_ie_s_11_value{
+      egprs_level_ie downlink_egprs_level;
+   }ps_handover_radio_resources_2_ie_s_11_value;
+   ispresent ps_handover_radio_resources_2_ie_s_12_tag;
+   union ps_handover_radio_resources_2_ie_s_12_value{
+      pulse_format_ie pulse_format;
+   }ps_handover_radio_resources_2_ie_s_12_value;
+   egprs_mode_struct_in_ps_ho_rr_2 egprs_mode;
+   ispresent ps_handover_radio_resources_2_ie_s_13_tag;
+   union ps_handover_radio_resources_2_ie_s_13_value{
+      ps_handover_radio_resources_2_ie_s_14 m_ps_handover_radio_resources_2_ie_s_14;
+   }ps_handover_radio_resources_2_ie_s_13_value;
+}ps_handover_radio_resources_2_ie;
+
+typedef struct egprs_packet_downlink_ack_nack_message_content_s_5{
+   U8 epd_a_n_extension_length;
+   epd_a_n_extension_info m_epd_a_n_extension_info;
+}egprs_packet_downlink_ack_nack_message_content_s_5;
+
+/* SEQUENCE egprs packet downlink ack/nack message content */
+typedef struct egprs_packet_downlink_ack_nack_message_content{
+   uplink_header_struct header;
+   U8 downlink_tfi;
+   U8 ms_out_of_memory;
+   ispresent egprs_packet_downlink_ack_nack_message_content_s_1_tag;
+   union egprs_packet_downlink_ack_nack_message_content_s_1_value{
+      egprs_channel_quality_report_ie egprs_channel_quality_report;
+   }egprs_packet_downlink_ack_nack_message_content_s_1_value;
+   ispresent egprs_packet_downlink_ack_nack_message_content_s_2_tag;
+   union egprs_packet_downlink_ack_nack_message_content_s_2_value{
+      channel_request_description_ie channel_request_description;
+   }egprs_packet_downlink_ack_nack_message_content_s_2_value;
+   ispresent egprs_packet_downlink_ack_nack_message_content_s_3_tag;
+   union egprs_packet_downlink_ack_nack_message_content_s_3_value{
+      U8 pfi;
+   }egprs_packet_downlink_ack_nack_message_content_s_3_value;
+   ispresent egprs_packet_downlink_ack_nack_message_content_s_4_tag;
+   union egprs_packet_downlink_ack_nack_message_content_s_4_value{
+      egprs_packet_downlink_ack_nack_message_content_s_5 m_egprs_packet_downlink_ack_nack_message_content_s_5;
+   }egprs_packet_downlink_ack_nack_message_content_s_4_value;
+   egprs_ack_nack_description_ie egprs_ack_nack_description;
+}egprs_packet_downlink_ack_nack_message_content;
+
+typedef enum {
+   ACCESS_CAPABILITIES,
+   MS_RA_CAPABILITY_VALUE_PART_STRUCT_S_2
+}ms_ra_capability_value_part_struct_s_1_enum;
+
+typedef struct ms_ra_capability_value_part_struct_s_2{
+   U8 length;
+   additional_access_technologies_list m_additional_access_technologies_list;
+}ms_ra_capability_value_part_struct_s_2;
+
+/* SEQUENCE ms ra capability value part struct */
+typedef struct ms_ra_capability_value_part_struct{
+   ms_ra_capability_value_part_struct_s_1_enum ms_ra_capability_value_part_struct_s_1_tag;
+   U8 access_technology_type;
+   union ms_ra_capability_value_part_struct_s_1_value{
+      access_capabilities_struct access_capabilities;
+      ms_ra_capability_value_part_struct_s_2 m_ms_ra_capability_value_part_struct_s_2;
+   }ms_ra_capability_value_part_struct_s_1_value;
+   ispresent ms_ra_capability_value_part_struct_s_4_tag;
+   union ms_ra_capability_value_part_struct_s_4_value{
+      struct ms_ra_capability_value_part_struct * m_ms_ra_capability_value_part_struct;
+   }ms_ra_capability_value_part_struct_s_4_value;
+}ms_ra_capability_value_part_struct;
+
+typedef enum {
+   PSI5_MESSAGE_CONTENT_S_3_NULL,
+   PSI5_MESSAGE_CONTENT_S_3_BIT,
+   PSI5_MESSAGE_CONTENT_S_4
+}psi5_message_content_s_3_enum;
+
+typedef struct psi5_message_content_s_3_bit{
+   U16 numElements_psi5_message_content_s_3_bit;
+   U8 * psi5_message_content_s_3_bit;
+}psi5_message_content_s_3_bit;
+
+typedef enum {
+   PSI5_MESSAGE_CONTENT_S_6_NULL,
+   PSI5_MESSAGE_CONTENT_S_6_BIT,
+   PSI5_MESSAGE_CONTENT_S_7
+}psi5_message_content_s_6_enum;
+
+typedef struct psi5_message_content_s_6_bit{
+   U16 numElements_psi5_message_content_s_6_bit;
+   U8 * psi5_message_content_s_6_bit;
+}psi5_message_content_s_6_bit;
+
+typedef enum {
+   PSI5_MESSAGE_CONTENT_S_9_NULL,
+   PSI5_MESSAGE_CONTENT_S_9_BIT,
+   PSI5_MESSAGE_CONTENT_S_10
+}psi5_message_content_s_9_enum;
+
+typedef struct psi5_message_content_s_9_bit{
+   U16 numElements_psi5_message_content_s_9_bit;
+   U8 * psi5_message_content_s_9_bit;
+}psi5_message_content_s_9_bit;
+
+typedef struct psi5_message_content_s_12{
+   U8 p_700__reporting_offset;
+   U8 p_700__reporting_threshold;
+}psi5_message_content_s_12;
+
+typedef struct psi5_message_content_s_14{
+   U8 p_810__reporting_offset;
+   U8 p_810__reporting_threshold;
+}psi5_message_content_s_14;
+
+typedef struct psi5_message_content_s_10{
+   ispresent psi5_message_content_s_11_tag;
+   union psi5_message_content_s_11_value{
+      psi5_message_content_s_12 m_psi5_message_content_s_12;
+   }psi5_message_content_s_11_value;
+   ispresent psi5_message_content_s_13_tag;
+   union psi5_message_content_s_13_value{
+      psi5_message_content_s_14 m_psi5_message_content_s_14;
+   }psi5_message_content_s_13_value;
+}psi5_message_content_s_10;
+
+typedef struct psi5_message_content_s_7{
+   ispresent psi5_message_content_s_8_tag;
+   union psi5_message_content_s_8_value{
+      gprs_3_g_additional_measurement_parameters_description_2_struct gprs_3_g_additional_measurement_parameters_description_2;
+   }psi5_message_content_s_8_value;
+   psi5_message_content_s_9_enum psi5_message_content_s_9_tag;
+   union psi5_message_content_s_9_value{
+      psi5_message_content_s_9_bit m_psi5_message_content_s_9_bit;
+      psi5_message_content_s_10 m_psi5_message_content_s_10;
+   }psi5_message_content_s_9_value;
+}psi5_message_content_s_7;
+
+typedef struct psi5_message_content_s_4{
+   ispresent psi5_message_content_s_5_tag;
+   union psi5_message_content_s_5_value{
+      enh_reporting_parameters_struct enh_reporting_parameters;
+   }psi5_message_content_s_5_value;
+   psi5_message_content_s_6_enum psi5_message_content_s_6_tag;
+   union psi5_message_content_s_6_value{
+      psi5_message_content_s_6_bit m_psi5_message_content_s_6_bit;
+      psi5_message_content_s_7 m_psi5_message_content_s_7;
+   }psi5_message_content_s_6_value;
+}psi5_message_content_s_4;
+
+/* SEQUENCE psi5 message content */
+typedef struct psi5_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi5_change_mark;
+   U8 psi5_index;
+   U8 psi5_count;
+   ispresent psi5_message_content_s_1_tag;
+   union psi5_message_content_s_1_value{
+      nc_measurement_parameters_struct nc_measurement_parameters;
+   }psi5_message_content_s_1_value;
+   ispresent psi5_message_content_s_2_tag;
+   union psi5_message_content_s_2_value{
+      ext_measurement_parameters_struct ext_measurement_parameters;
+   }psi5_message_content_s_2_value;
+   psi5_message_content_s_3_enum psi5_message_content_s_3_tag;
+   union psi5_message_content_s_3_value{
+      psi5_message_content_s_3_bit m_psi5_message_content_s_3_bit;
+      psi5_message_content_s_4 m_psi5_message_content_s_4;
+   }psi5_message_content_s_3_value;
+}psi5_message_content;
+
+typedef enum {
+   PSI2_MESSAGE_CONTENT_S_4_NULL,
+   PSI2_MESSAGE_CONTENT_S_4_BIT,
+   PSI2_MESSAGE_CONTENT_S_5
+}psi2_message_content_s_4_enum;
+
+typedef struct psi2_message_content_s_4_bit{
+   U16 numElements_psi2_message_content_s_4_bit;
+   U8 * psi2_message_content_s_4_bit;
+}psi2_message_content_s_4_bit;
+
+typedef struct psi2_message_content_s_5{
+   ispresent psi2_message_content_s_6_tag;
+   union psi2_message_content_s_6_value{
+      compact_control_info_struct compact_control_information;
+   }psi2_message_content_s_6_value;
+   ispresent psi2_message_content_s_7_tag;
+   union psi2_message_content_s_7_value{
+      additional_psi_messages_struct additional_psi_messages;
+   }psi2_message_content_s_7_value;
+}psi2_message_content_s_5;
+
+typedef struct psi2_message_content_s_1{
+   Bool is_psi2_message_content_s_2_present; //truncation or optional 
+   ispresent psi2_message_content_s_2_tag;
+   union psi2_message_content_s_2_value{
+      cell_identification_ie cell_identification;
+   }psi2_message_content_s_2_value;
+   Bool is_psi2_message_content_s_3_present; //truncation or optional 
+   ispresent psi2_message_content_s_3_tag;
+   union psi2_message_content_s_3_value{
+      non_gprs_cell_options_ie non_gprs_cell_options;
+   }psi2_message_content_s_3_value;
+   Bool is_reference_frequency_lists_present; //truncation or optional 
+   reference_frequency_lists_struct reference_frequency_lists;
+   Bool is_cell_allocation_present; //truncation or optional 
+   cell_allocation_lists_struct cell_allocation;
+   Bool is_gprs_mobile_allocations_present; //truncation or optional 
+   gprs_mobile_allocations_lists_struct gprs_mobile_allocations;
+   Bool is_pccch_description_present; //truncation or optional 
+   pccch_description_lists_struct pccch_description;
+   Bool is_psi2_message_content_s_4_present; //truncation or optional 
+   psi2_message_content_s_4_enum psi2_message_content_s_4_tag;
+   union psi2_message_content_s_4_value{
+      psi2_message_content_s_4_bit m_psi2_message_content_s_4_bit;
+      psi2_message_content_s_5 m_psi2_message_content_s_5;
+   }psi2_message_content_s_4_value;
+}psi2_message_content_s_1;
+
+/* SEQUENCE psi2 message content */
+typedef struct psi2_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   U8 psi2_change_mark;
+   U8 psi2_index;
+   U8 psi2_count;
+   psi2_message_content_s_1 m_psi2_message_content_s_1; //truncation ;
+}psi2_message_content;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_GLOBAL_TFI,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_TLLI___G_RNTI
+}packet_measurement_order_message_content_s_3_enum;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_8_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_8_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_9
+}packet_measurement_order_message_content_s_8_enum;
+
+typedef struct packet_measurement_order_message_content_s_8_bit{
+   U16 numElements_packet_measurement_order_message_content_s_8_bit;
+   U8 * packet_measurement_order_message_content_s_8_bit;
+}packet_measurement_order_message_content_s_8_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_11_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_11_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_12
+}packet_measurement_order_message_content_s_11_enum;
+
+typedef struct packet_measurement_order_message_content_s_11_bit{
+   U16 numElements_packet_measurement_order_message_content_s_11_bit;
+   U8 * packet_measurement_order_message_content_s_11_bit;
+}packet_measurement_order_message_content_s_11_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_14_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_14_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_15
+}packet_measurement_order_message_content_s_14_enum;
+
+typedef struct packet_measurement_order_message_content_s_14_bit{
+   U16 numElements_packet_measurement_order_message_content_s_14_bit;
+   U8 * packet_measurement_order_message_content_s_14_bit;
+}packet_measurement_order_message_content_s_14_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_17_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_17_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_18
+}packet_measurement_order_message_content_s_17_enum;
+
+typedef struct packet_measurement_order_message_content_s_17_bit{
+   U16 numElements_packet_measurement_order_message_content_s_17_bit;
+   U8 * packet_measurement_order_message_content_s_17_bit;
+}packet_measurement_order_message_content_s_17_bit;
+
+typedef struct packet_measurement_order_message_content_s_21{
+   iu_mode_neighbour_cell_params_struct m_iu_mode_neighbour_cell_params_struct;
+}packet_measurement_order_message_content_s_21;
+
+typedef struct _packet_measurement_order_message_content_s_21{
+   U16 numElements_m_packet_measurement_order_message_content_s_21;
+   packet_measurement_order_message_content_s_21 * m_packet_measurement_order_message_content_s_21;
+}_packet_measurement_order_message_content_s_21;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_24_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_24_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_25
+}packet_measurement_order_message_content_s_24_enum;
+
+typedef struct packet_measurement_order_message_content_s_24_bit{
+   U16 numElements_packet_measurement_order_message_content_s_24_bit;
+   U8 * packet_measurement_order_message_content_s_24_bit;
+}packet_measurement_order_message_content_s_24_bit;
+
+typedef enum {
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_26_NULL,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_26_BIT,
+   PACKET_MEASUREMENT_ORDER_MESSAGE_CONTENT_S_27
+}packet_measurement_order_message_content_s_26_enum;
+
+typedef struct packet_measurement_order_message_content_s_26_bit{
+   U16 numElements_packet_measurement_order_message_content_s_26_bit;
+   U8 * packet_measurement_order_message_content_s_26_bit;
+}packet_measurement_order_message_content_s_26_bit;
+
+typedef struct packet_measurement_order_message_content_s_29{
+   U8 p_700__reporting_offset;
+   U8 p_700__reporting_threshold;
+}packet_measurement_order_message_content_s_29;
+
+typedef struct packet_measurement_order_message_content_s_31{
+   U8 p_810__reporting_offset;
+   U8 p_810__reporting_threshold;
+}packet_measurement_order_message_content_s_31;
+
+typedef struct packet_measurement_order_message_content_s_27{
+   ispresent packet_measurement_order_message_content_s_28_tag;
+   union packet_measurement_order_message_content_s_28_value{
+      packet_measurement_order_message_content_s_29 m_packet_measurement_order_message_content_s_29;
+   }packet_measurement_order_message_content_s_28_value;
+   ispresent packet_measurement_order_message_content_s_30_tag;
+   union packet_measurement_order_message_content_s_30_value{
+      packet_measurement_order_message_content_s_31 m_packet_measurement_order_message_content_s_31;
+   }packet_measurement_order_message_content_s_30_value;
+}packet_measurement_order_message_content_s_27;
+
+typedef struct packet_measurement_order_message_content_s_25{
+   U8 p_3_g_ccn_active;
+   packet_measurement_order_message_content_s_26_enum packet_measurement_order_message_content_s_26_tag;
+   union packet_measurement_order_message_content_s_26_value{
+      packet_measurement_order_message_content_s_26_bit m_packet_measurement_order_message_content_s_26_bit;
+      packet_measurement_order_message_content_s_27 m_packet_measurement_order_message_content_s_27;
+   }packet_measurement_order_message_content_s_26_value;
+}packet_measurement_order_message_content_s_25;
+
+typedef struct packet_measurement_order_message_content_s_18{
+   ispresent packet_measurement_order_message_content_s_19_tag;
+   union packet_measurement_order_message_content_s_19_value{
+      U8 g_rnti_extension;
+   }packet_measurement_order_message_content_s_19_value;
+   ispresent packet_measurement_order_message_content_s_20_tag;
+   union packet_measurement_order_message_content_s_20_value{
+      _packet_measurement_order_message_content_s_21 m_packet_measurement_order_message_content_s_21;
+   }packet_measurement_order_message_content_s_20_value;
+   ispresent packet_measurement_order_message_content_s_22_tag;
+   union packet_measurement_order_message_content_s_22_value{
+      nc_iu_mode_only_cell_list_struct nc_iu_mode_only_capable_cell_list;
+   }packet_measurement_order_message_content_s_22_value;
+   ispresent packet_measurement_order_message_content_s_23_tag;
+   union packet_measurement_order_message_content_s_23_value{
+      gprs_3_g_additional_measurement_parameters_description_2_struct gprs_3_g_additional_measurement_parameters_description_2;
+   }packet_measurement_order_message_content_s_23_value;
+   packet_measurement_order_message_content_s_24_enum packet_measurement_order_message_content_s_24_tag;
+   union packet_measurement_order_message_content_s_24_value{
+      packet_measurement_order_message_content_s_24_bit m_packet_measurement_order_message_content_s_24_bit;
+      packet_measurement_order_message_content_s_25 m_packet_measurement_order_message_content_s_25;
+   }packet_measurement_order_message_content_s_24_value;
+}packet_measurement_order_message_content_s_18;
+
+typedef struct packet_measurement_order_message_content_s_15{
+   U8 ccn_active;
+   ispresent packet_measurement_order_message_content_s_16_tag;
+   union packet_measurement_order_message_content_s_16_value{
+      ccn_support_description_struct ccn_support_description;
+   }packet_measurement_order_message_content_s_16_value;
+   packet_measurement_order_message_content_s_17_enum packet_measurement_order_message_content_s_17_tag;
+   union packet_measurement_order_message_content_s_17_value{
+      packet_measurement_order_message_content_s_17_bit m_packet_measurement_order_message_content_s_17_bit;
+      packet_measurement_order_message_content_s_18 m_packet_measurement_order_message_content_s_18;
+   }packet_measurement_order_message_content_s_17_value;
+}packet_measurement_order_message_content_s_15;
+
+typedef struct packet_measurement_order_message_content_s_12{
+   ispresent packet_measurement_order_message_content_s_13_tag;
+   union packet_measurement_order_message_content_s_13_value{
+      enh_measurement_parameters_struct enh_measurement_parameters;
+   }packet_measurement_order_message_content_s_13_value;
+   packet_measurement_order_message_content_s_14_enum packet_measurement_order_message_content_s_14_tag;
+   union packet_measurement_order_message_content_s_14_value{
+      packet_measurement_order_message_content_s_14_bit m_packet_measurement_order_message_content_s_14_bit;
+      packet_measurement_order_message_content_s_15 m_packet_measurement_order_message_content_s_15;
+   }packet_measurement_order_message_content_s_14_value;
+}packet_measurement_order_message_content_s_12;
+
+typedef struct packet_measurement_order_message_content_s_9{
+   ispresent packet_measurement_order_message_content_s_10_tag;
+   union packet_measurement_order_message_content_s_10_value{
+      lsa_parameters_ie lsa_parameters;
+   }packet_measurement_order_message_content_s_10_value;
+   packet_measurement_order_message_content_s_11_enum packet_measurement_order_message_content_s_11_tag;
+   union packet_measurement_order_message_content_s_11_value{
+      packet_measurement_order_message_content_s_11_bit m_packet_measurement_order_message_content_s_11_bit;
+      packet_measurement_order_message_content_s_12 m_packet_measurement_order_message_content_s_12;
+   }packet_measurement_order_message_content_s_11_value;
+}packet_measurement_order_message_content_s_9;
+
+/* SEQUENCE packet measurement order message content */
+typedef struct packet_measurement_order_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   packet_measurement_order_message_content_s_3_enum packet_measurement_order_message_content_s_3_tag;
+   union packet_measurement_order_message_content_s_3_value{
+      global_tfi_ie global_tfi;
+      U32 tlli___g_rnti;
+   }packet_measurement_order_message_content_s_3_value;
+   U8 pmo_index;
+   U8 pmo_count;
+   ispresent packet_measurement_order_message_content_s_6_tag;
+   union packet_measurement_order_message_content_s_6_value{
+      nc_measurement_parameters_struct nc_measurement_parameters;
+   }packet_measurement_order_message_content_s_6_value;
+   ispresent packet_measurement_order_message_content_s_7_tag;
+   union packet_measurement_order_message_content_s_7_value{
+      ext_measurement_parameters_struct ext_measurement_parameters;
+   }packet_measurement_order_message_content_s_7_value;
+   packet_measurement_order_message_content_s_8_enum packet_measurement_order_message_content_s_8_tag;
+   union packet_measurement_order_message_content_s_8_value{
+      packet_measurement_order_message_content_s_8_bit m_packet_measurement_order_message_content_s_8_bit;
+      packet_measurement_order_message_content_s_9 m_packet_measurement_order_message_content_s_9;
+   }packet_measurement_order_message_content_s_8_value;
+}packet_measurement_order_message_content;
+
+typedef enum {
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_GLOBAL_TFI,
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_TLLI___G_RNTI
+}packet_cell_change_order_message_content_s_3_enum;
+
+typedef enum {
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_S_5,
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_S_7
+}packet_cell_change_order_message_content_s_4_enum;
+
+typedef struct packet_cell_change_order_message_content_s_6{
+   U8 immediate_rel;
+   gsm_target_cell_struct gsm_target_cell;
+}packet_cell_change_order_message_content_s_6;
+
+typedef enum {
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_S_13_NULL,
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_S_13_BIT,
+   PACKET_CELL_CHANGE_ORDER_MESSAGE_CONTENT_S_14
+}packet_cell_change_order_message_content_s_13_enum;
+
+typedef struct packet_cell_change_order_message_content_s_13_bit{
+   U16 numElements_packet_cell_change_order_message_content_s_13_bit;
+   U8 * packet_cell_change_order_message_content_s_13_bit;
+}packet_cell_change_order_message_content_s_13_bit;
+
+typedef struct packet_cell_change_order_message_content_s_14{
+   ispresent packet_cell_change_order_message_content_s_15_tag;
+   union packet_cell_change_order_message_content_s_15_value{
+      U8 g_rnti_extension;
+   }packet_cell_change_order_message_content_s_15_value;
+}packet_cell_change_order_message_content_s_14;
+
+typedef struct packet_cell_change_order_message_content_s_10{
+   U8 immediate_rel;
+   ispresent packet_cell_change_order_message_content_s_11_tag;
+   union packet_cell_change_order_message_content_s_11_value{
+      utran_fdd_target_cell_ie utran_fdd_target_cell;
+   }packet_cell_change_order_message_content_s_11_value;
+   ispresent packet_cell_change_order_message_content_s_12_tag;
+   union packet_cell_change_order_message_content_s_12_value{
+      utran_tdd_target_cell_ie utran_tdd_target_cell;
+   }packet_cell_change_order_message_content_s_12_value;
+   packet_cell_change_order_message_content_s_13_enum packet_cell_change_order_message_content_s_13_tag;
+   union packet_cell_change_order_message_content_s_13_value{
+      packet_cell_change_order_message_content_s_13_bit m_packet_cell_change_order_message_content_s_13_bit;
+      packet_cell_change_order_message_content_s_14 m_packet_cell_change_order_message_content_s_14;
+   }packet_cell_change_order_message_content_s_13_value;
+}packet_cell_change_order_message_content_s_10;
+
+/* SEQUENCE packet cell change order message content */
+typedef struct packet_cell_change_order_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   packet_cell_change_order_message_content_s_3_enum packet_cell_change_order_message_content_s_3_tag;
+   union packet_cell_change_order_message_content_s_3_value{
+      global_tfi_ie global_tfi;
+      U32 tlli___g_rnti;
+   }packet_cell_change_order_message_content_s_3_value;
+   packet_cell_change_order_message_content_s_4_enum packet_cell_change_order_message_content_s_4_tag;
+   union packet_cell_change_order_message_content_s_4_value{
+      packet_cell_change_order_message_content_s_6 m_packet_cell_change_order_message_content_s_6;
+      packet_cell_change_order_message_content_s_10 m_packet_cell_change_order_message_content_s_10;
+   }packet_cell_change_order_message_content_s_4_value;
+}packet_cell_change_order_message_content;
+
+typedef enum {
+   PS_HANDOVER_TO_A_GB_MODE_PAYLOAD,
+   PS_HANDOVER_TO_UTRAN_PAYLOAD
+}ps_handover_command_message_content_s_3_enum;
+
+typedef enum {
+   PS_HANDOVER_RR_INFO,
+   PS_HANDOVER_RR_2_INFO
+}ps_handover_command_message_content_s_4_enum;
+
+typedef struct ps_handover_to_a_gb_mode_payload{
+   ps_handover_command_message_content_s_4_enum ps_handover_command_message_content_s_4_tag;
+   union ps_handover_command_message_content_s_4_value{
+      ps_handover_radio_resources_ie ps_handover_rr_info;
+      ps_handover_radio_resources_2_ie ps_handover_rr_2_info;
+   }ps_handover_command_message_content_s_4_value;
+   ispresent ps_handover_command_message_content_s_5_tag;
+   union ps_handover_command_message_content_s_5_value{
+      nas_container_for_ps_handover_ie m_nas_container_for_ps_handover_ie;
+   }ps_handover_command_message_content_s_5_value;
+}ps_handover_to_a_gb_mode_payload;
+
+/* SEQUENCE ps handover command message content */
+typedef struct ps_handover_command_message_content{
+   header_struct1 header;
+   U8 msgtype;
+   U8 page_mode;
+   global_tfi_ie global_tfi;
+   U8 container_id;
+   ps_handover_command_message_content_s_3_enum ps_handover_command_message_content_s_3_tag;
+   union ps_handover_command_message_content_s_3_value{
+      ps_handover_to_a_gb_mode_payload m_ps_handover_to_a_gb_mode_payload;
+      rrc_container_ie ps_handover_to_utran_payload;
+   }ps_handover_command_message_content_s_3_value;
+}ps_handover_command_message_content;
+
+typedef struct range__struct_s_1{
+   U16 range_lower;
+   U16 range_higher;
+}range__struct_s_1;
+
+/* SEQUENCE range__struct */
+typedef struct range__struct{
+   U8 num_of_ranges;
+   U16 numElements_m_range__struct_s_1;
+   range__struct_s_1 * m_range__struct_s_1;
+   U16 numElements_range__struct_bit;
+   U8 * range__struct_bit;
+}range__struct;
+
+/* SEQUENCE grp_cphr_key_num_struct */
+typedef struct grp_cphr_key_num_struct{
+   U8 grp_cphr_key_num_iei;
+   U8 grp_cphr_key_num;
+}grp_cphr_key_num_struct;
+
+typedef enum {
+   S_2,
+   S_3
+}grp_ch_desc_struct_s_1_enum;
+
+typedef struct s_2{
+   U8 maio;
+   U8 hsn;
+}s_2;
+
+typedef struct s_3{
+   U8 spare_bits;
+   U16 arfcn;
+}s_3;
+
+/* SEQUENCE grp_ch_desc_struct */
+typedef struct grp_ch_desc_struct{
+   U8 grp_ch_desc_iei;
+   U8 length;
+   U8 ch_typeand_tdma;
+   U8 tn;
+   U8 training_seq;
+   grp_ch_desc_struct_s_1_enum grp_ch_desc_struct_s_1_tag;
+   union grp_ch_desc_struct_s_1_value{
+      s_2 m_s_2;
+      s_3 m_s_3;
+   }grp_ch_desc_struct_s_1_value;
+   U16 numElements_ma;
+   U8 * ma;
+}grp_ch_desc_struct;
+
+/* SEQUENCE gprs_rsmp_struct */
+typedef struct gprs_rsmp_struct{
+   U8 gprs_rsmp_iei;
+   U8 ack;
+}gprs_rsmp_struct;
+
+/* SEQUENCE range_limits_struct */
+typedef struct range_limits_struct{
+   U16 range_lower;
+   U16 range_upper;
+}range_limits_struct;
+
+typedef struct fdd_arfcn_struct{
+    U16 fdd_arfcn;
+}fdd_arfcn_struct;
+
+typedef struct tdd_arfcn_struct{
+    U16 tdd_arfcn;
+}tdd_arfcn_struct;
+
+/* SEQUENCE fdd_tdd_arfcn_struct */
+typedef struct fdd_tdd_arfcn_struct{
+   U16 numElements_m_fdd_arfcn_struct;
+   fdd_arfcn_struct * m_fdd_arfcn_struct;
+   U16 numElements_m_tdd_arfcn_struct;
+   tdd_arfcn_struct * m_tdd_arfcn_struct;
+   U16 numElements_fdd_tdd_arfcn_struct_bit;
+   U8 * fdd_tdd_arfcn_struct_bit;
+}fdd_tdd_arfcn_struct;
+
+/* SEQUENCE cell_ch_desc_struct */
+typedef struct cell_ch_desc_struct{
+   U8 cell_ch_desc;
+   U8 freq_bit_map[16];
+}cell_ch_desc_struct;
+
+/* SEQUENCE gsm_desc_struct */
+typedef struct gsm_desc_struct{
+   U8 band_ind;
+   U16 arfcn;
+   U8 bsic;
+}gsm_desc_struct;
+
+typedef struct utran_fdd_desc_struct_s_3{
+   U8 fdd_indic0;
+   U8 nr_of_fdd_cells;
+   U16 numElements_fdd_cell_info_field;
+   U8 * fdd_cell_info_field;
+}utran_fdd_desc_struct_s_3;
+
+/* SEQUENCE utran_fdd_desc_struct */
+typedef struct utran_fdd_desc_struct{
+   ispresent utran_fdd_desc_struct_s_1_tag;
+   union utran_fdd_desc_struct_s_1_value{
+      U8 bandwidth_fdd;
+   }utran_fdd_desc_struct_s_1_value;
+   U16 fdd_arfcn;
+   ispresent utran_fdd_desc_struct_s_2_tag;
+   union utran_fdd_desc_struct_s_2_value{
+      utran_fdd_desc_struct_s_3 m_utran_fdd_desc_struct_s_3;
+   }utran_fdd_desc_struct_s_2_value;
+}utran_fdd_desc_struct;
+
+typedef struct utran_tdd_desc_struct_s_3{
+   U8 tdd_indic0;
+   U8 nr_of_tdd_cells;
+   U16 numElements_tdd_cell_info_field;
+   U8 * tdd_cell_info_field;
+}utran_tdd_desc_struct_s_3;
+
+/* SEQUENCE utran_tdd_desc_struct */
+typedef struct utran_tdd_desc_struct{
+   ispresent utran_tdd_desc_struct_s_1_tag;
+   union utran_tdd_desc_struct_s_1_value{
+      U8 bandwidth_tdd;
+   }utran_tdd_desc_struct_s_1_value;
+   U16 tdd_arfcn;
+   ispresent utran_tdd_desc_struct_s_2_tag;
+   union utran_tdd_desc_struct_s_2_value{
+      utran_tdd_desc_struct_s_3 m_utran_tdd_desc_struct_s_3;
+   }utran_tdd_desc_struct_s_2_value;
+}utran_tdd_desc_struct;
+
+typedef struct pcid_grp_ie_s_3{
+   U8 pcid_pattern_length;
+   U16 numElements_pcid_pattern;
+   U8 * pcid_pattern;
+   U8 pcid_pattern_sense;
+}pcid_grp_ie_s_3;
+
+/* SEQUENCE pcid_grp_ie */
+typedef struct pcid_grp_ie{
+   U16 numElements_pcid;
+   U16 * pcid;
+   ispresent pcid_grp_ie_s_2_tag;
+   union pcid_grp_ie_s_2_value{
+      U8 pcid_bitmap_group;
+   }pcid_grp_ie_s_2_value;
+   U16 numElements_m_pcid_grp_ie_s_3;
+   pcid_grp_ie_s_3 * m_pcid_grp_ie_s_3;
+}pcid_grp_ie;
+
+/* SEQUENCE ehncd_dtm_cs_rel_ind_struct */
+typedef struct ehncd_dtm_cs_rel_ind_struct{
+   U8 ehncd_dtm_cs_rel_ind_iei;
+   U8 ind;
+}ehncd_dtm_cs_rel_ind_struct;
+
+/* SEQUENCE vgcs_cphr_param_struct */
+typedef struct vgcs_cphr_param_struct{
+   U8 vgcs_cphr_param_iei;
+   U8 length;
+   U8 spare_bits;
+   U8 rand_ind;
+   U8 lac_ind;
+   U8 cell_ind;
+   U8 b22_count;
+   U8 cell_global_count;
+   U16 numElements_data;
+   U8 * data;
+}vgcs_cphr_param_struct;
+
+/* SEQUENCE grp_ch_desc2_struct */
+typedef struct grp_ch_desc2_struct{
+   U8 grp_ch_desc2_iei;
+   U8 length;
+   U8 ch_typeand_tdma;
+   U8 tn;
+   U8 training_seq;
+   U8 maio;
+   U8 hsn;
+   U8 freq_short_list[8];
+}grp_ch_desc2_struct;
+
+/* SEQUENCE talker_identity_struct */
+typedef struct talker_identity_struct{
+   U8 talker_identity_iei;
+   U8 length;
+   U8 spare_bits;
+   U8 filler_bits;
+   U16 numElements_talker_identity_field;
+   U8 * talker_identity_field;
+}talker_identity_struct;
+
+/* SEQUENCE talker_priority_status_struct */
+typedef struct talker_priority_status_struct{
+   U8 talker_priority_status_iei;
+   U8 length;
+   U8 es;
+   U8 spare_bits;
+   U8 uai;
+   U8 priority;
+}talker_priority_status_struct;
+
+/* SEQUENCE vgcs_amr_config_struct */
+typedef struct vgcs_amr_config_struct{
+   U8 vgcs_amr_config_iei;
+   U8 length;
+   U8 amr_config;
+   U8 spare_bits;
+}vgcs_amr_config_struct;
+
+typedef enum {
+   REPEATED_INDIVIDUAL_UTRAN_PRIORITY_PARAMETERS_STRUCT_S_2,
+   REPEATED_INDIVIDUAL_UTRAN_PRIORITY_PARAMETERS_STRUCT_S_4
+}repeated_individual_utran_priority_parameters_struct_s_1_enum;
+
+typedef struct repeated_individual_utran_priority_parameters_struct_s_3{
+   U16 fdd_arfcn;
+}repeated_individual_utran_priority_parameters_struct_s_3;
+
+typedef struct _repeated_individual_utran_priority_parameters_struct_s_3{
+   U16 numElements_m_repeated_individual_utran_priority_parameters_struct_s_3;
+   repeated_individual_utran_priority_parameters_struct_s_3 * m_repeated_individual_utran_priority_parameters_struct_s_3;
+}_repeated_individual_utran_priority_parameters_struct_s_3;
+
+typedef struct repeated_individual_utran_priority_parameters_struct_s_5{
+   U16 tdd_arfcn;
+}repeated_individual_utran_priority_parameters_struct_s_5;
+
+typedef struct _repeated_individual_utran_priority_parameters_struct_s_5{
+   U16 numElements_m_repeated_individual_utran_priority_parameters_struct_s_5;
+   repeated_individual_utran_priority_parameters_struct_s_5 * m_repeated_individual_utran_priority_parameters_struct_s_5;
+}_repeated_individual_utran_priority_parameters_struct_s_5;
+
+/* SEQUENCE repeated individual utran priority parameters struct */
+typedef struct repeated_individual_utran_priority_parameters_struct{
+   repeated_individual_utran_priority_parameters_struct_s_1_enum repeated_individual_utran_priority_parameters_struct_s_1_tag;
+   union repeated_individual_utran_priority_parameters_struct_s_1_value{
+      _repeated_individual_utran_priority_parameters_struct_s_3 m_repeated_individual_utran_priority_parameters_struct_s_3;
+      _repeated_individual_utran_priority_parameters_struct_s_5 m_repeated_individual_utran_priority_parameters_struct_s_5;
+   }repeated_individual_utran_priority_parameters_struct_s_1_value;
+   U8 utran_priority;
+}repeated_individual_utran_priority_parameters_struct;
+
+/* SEQUENCE repeated individual e-utran priority parameters description struct */
+typedef struct repeated_individual_e_utran_priority_parameters_description_struct{
+   U16 numElements_earfcn;
+   U16 * earfcn;
+   U8 e_utran_priority;
+}repeated_individual_e_utran_priority_parameters_description_struct;
+
+/* SEQUENCE repeated individual e-utran PP with extened earfcn description struct */
+typedef struct repeated_individual_e_utran_pp_extended_earfcn_description_struct{
+   U16 numElements_earfcn;
+   U32 * extended_earfcn;
+   U8 e_utran_priority;
+}repeated_individual_e_utran_pp_extended_earfcn_description_struct;
+
+/* SEQUENCE ba_range_struct */
+typedef struct ba_range_struct{
+   U8 ba_range_iei;
+   U8 length;
+   range__struct m_range__struct;
+}ba_range_struct;
+
+typedef struct ba_freq_struct{
+    U16 ba_freq;
+}ba_freq_struct;
+
+/* SEQUENCE range_limits_ba_freq_struct */
+typedef struct range_limits_ba_freq_struct{
+   U16 numElements_m_range_limits_struct;
+   range_limits_struct * m_range_limits_struct;
+   U16 numElements_m_ba_freq_struct;
+   ba_freq_struct * m_ba_freq_struct;
+   U16 numElements_range_limits_ba_freq_struct_bit;
+   U8 * range_limits_ba_freq_struct_bit;
+}range_limits_ba_freq_struct;
+
+/* SEQUENCE utran_freq_list_struct */
+typedef struct utran_freq_list_struct{
+   U8 utran_freq_list_iei;
+   U8 length;
+   fdd_tdd_arfcn_struct m_fdd_tdd_arfcn_struct;
+}utran_freq_list_struct;
+
+/* SEQUENCE e_utran_desc_struct */
+typedef struct e_utran_desc_struct{
+   U16 earfcn;
+   ispresent e_utran_desc_struct_s_1_tag;
+   union e_utran_desc_struct_s_1_value{
+      U8 meas_bandwidth;
+   }e_utran_desc_struct_s_1_value;
+   ispresent e_utran_desc_struct_s_2_tag;
+   union e_utran_desc_struct_s_2_value{
+      pcid_grp_ie not_allowed_cells;
+   }e_utran_desc_struct_s_2_value;
+   ispresent e_utran_desc_struct_s_3_tag;
+   union e_utran_desc_struct_s_3_value{
+      U16 target_pcid;
+   }e_utran_desc_struct_s_3_value;
+}e_utran_desc_struct;
+
+/* SEQUENCE 3 g individual priority parameters description struct */
+typedef struct p_3_g_individual_priority_parameters_description_struct{
+   ispresent p_3_g_individual_priority_parameters_description_struct_s_1_tag;
+   union p_3_g_individual_priority_parameters_description_struct_s_1_value{
+      U8 default_utran_priority;
+   }p_3_g_individual_priority_parameters_description_struct_s_1_value;
+   U16 numElements_repeated_individual_utran_priority_parameters;
+   repeated_individual_utran_priority_parameters_struct * repeated_individual_utran_priority_parameters;
+}p_3_g_individual_priority_parameters_description_struct;
+
+/* SEQUENCE e-utran individual priority parameters description struct */
+typedef struct e_utran_individual_priority_parameters_description_struct{
+   ispresent e_utran_individual_priority_parameters_description_struct_s_1_tag;
+   union e_utran_individual_priority_parameters_description_struct_s_1_value{
+      U8 default_e_utran_priority;
+   }e_utran_individual_priority_parameters_description_struct_s_1_value;
+   U16 numElements_repeated_individual_e_utran_priority_parameters;
+   repeated_individual_e_utran_priority_parameters_description_struct * repeated_individual_e_utran_priority_parameters;
+}e_utran_individual_priority_parameters_description_struct;
+
+/* SEQUENCE e-utran IPP with extended EARFCNs description struct */
+typedef struct e_utran_ipp_extended_earfcn_description_struct{
+   ispresent e_utran_ipp_extended_earfcn_description_struct_s_1_tag;
+   union e_utran_ipp_extended_earfcn_description_struct_s_1_value{
+      U8 default_e_utran_priority;
+   }e_utran_ipp_extended_earfcn_description_struct_s_1_value;
+   U16 numElements_repeated_individual_e_utran_priority_parameters;
+   repeated_individual_e_utran_pp_extended_earfcn_description_struct * repeated_individual_e_utran_pp_extended_earfcn;
+}e_utran_ipp_extended_earfcn_description_struct;
+
+/* SEQUENCE ba_list_pref__struct */
+typedef struct ba_list_pref__struct{
+   U8 ba_list_pref_iei;
+   U8 length;
+   range_limits_ba_freq_struct m_range_limits_ba_freq_struct;
+}ba_list_pref__struct;
+
+typedef enum {
+   rdrct_gsm_desc,
+   rdrct_utran_fdd,
+   rdrct_utran_tdd,
+   rdrct_e_utran
+}redirection_target_struct_s_1_enum;
+
+typedef struct redirection_target_struct_s_3{
+   gsm_desc_struct gsm_desc;
+}redirection_target_struct_s_3;
+
+typedef struct _redirection_target_struct_s_3{
+   U16 numElements_m_redirection_target_struct_s_3;
+   redirection_target_struct_s_3 * gsm;
+}_redirection_target_struct_s_3;
+
+typedef struct s_5{
+   utran_fdd_desc_struct utran_fdd_desc;
+}s_5;
+
+typedef struct _s_5{
+   U16 numElements_m_s_5;
+   s_5 * utran_fdd;
+}_s_5;
+
+typedef struct s_7{
+   utran_tdd_desc_struct utran_tdd_desc;
+}s_7;
+
+typedef struct _s_7{
+   U16 numElements_m_s_7;
+   s_7 * utran_tdd;
+}_s_7;
+
+typedef struct s_9{
+   e_utran_desc_struct e_utran_desc;
+}s_9;
+
+typedef struct _s_9{
+   U16 numElements_m_s_9;
+   s_9 * e_utran;
+}_s_9;
+
+/* SEQUENCE redirection_target_struct */
+typedef struct redirection_target_struct{
+   redirection_target_struct_s_1_enum redirection_target_struct_s_1_tag;
+   union redirection_target_struct_s_1_value{
+      _redirection_target_struct_s_3 rdrct_gsm_desc;
+      _s_5 rdrct_utran_fdd;
+      _s_7 rdrct_utran_tdd;
+      _s_9 rdrct_e_utran;
+   }redirection_target_struct_s_1_value;
+   U16 numElements_redirection_target_struct_bit;
+   //U8 * redirection_target_struct_bit;
+   Bool * redirection_target_struct_bit;
+}redirection_target_struct;
+
+typedef enum {
+   CHANNEL_REL_INDIVIDUAL_PRIO_STRUCT_S_5_NULL,
+   CHANNEL_REL_INDIVIDUAL_PRIO_STRUCT_LHSTRING_L, // L
+   CHANNEL_REL_INDIVIDUAL_PRIO_STRUCT_S_6 // H
+}indiv_prio_struct_s_5_enum;
+
+typedef struct indiv_prio_struct_s_6{
+    ispresent indiv_prio_struct_s_7_tag;
+    union indiv_prio_struct_s_7_value{
+       e_utran_ipp_extended_earfcn_description_struct e_utran_ipp_extended_earfcn_description;
+    }indiv_prio_struct_s_7_value;
+}indiv_prio_struct_s_6;
+
+typedef struct indiv_prio_struct_s_1{
+   U8 geran_priority;
+   ispresent indiv_prio_struct_s_2_tag;
+   union indiv_prio_struct_s_2_value{
+      p_3_g_individual_priority_parameters_description_struct p_3_g_individual_priority_parameters_description;
+   }indiv_prio_struct_s_2_value;
+   ispresent indiv_prio_struct_s_3_tag;
+   union indiv_prio_struct_s_3_value{
+      e_utran_individual_priority_parameters_description_struct e_utran_individual_priority_parameters_description;
+   }indiv_prio_struct_s_3_value;
+   ispresent indiv_prio_struct_s_4_tag;
+   union indiv_prio_struct_s_4_value{
+      U8 t3230_timeout_value;
+   }indiv_prio_struct_s_4_value;
+   
+   indiv_prio_struct_s_5_enum indiv_prio_struct_s_5_tag;
+   union indiv_prio_struct_s_5_value{
+      indiv_prio_struct_s_6 m_indiv_prio_struct_s_6;
+   }indiv_prio_struct_s_5_value;
+}indiv_prio_struct_s_1;
+
+/* SEQUENCE indiv_prio_struct */
+typedef struct indiv_prio_struct{
+   ispresent indiv_prio_struct_s_0_tag;
+   union indiv_prio_struct_s_0_value{
+      indiv_prio_struct_s_1 m_indiv_prio_struct_s_1;
+   }indiv_prio_struct_s_0_value;
+}indiv_prio_struct;
+
+/* SEQUENCE cell_sel_ind_after_rel_struct */
+typedef struct cell_sel_ind_after_rel_struct{
+   U8 cell_sel_ind_after_rel_iei;
+   U8 length;
+   redirection_target_struct m_redirection_target_struct;
+}cell_sel_ind_after_rel_struct;
+
+/* SEQUENCE individual_priority_struct */
+typedef struct individual_priority_struct{
+   U8 indiv_prio_iei;
+   U8 length;
+   indiv_prio_struct m_indiv_prio_struct;
+}individual_priority_struct;
+
+/* SEQUENCE channel_release_struct */
+typedef struct channel_release_struct{
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   U8 rr_cause;
+   Bool is_ba_range_present; //truncation or optional 
+   ba_range_struct ba_range;
+   Bool is_grp_ch_desc_present; //truncation or optional 
+   grp_ch_desc_struct grp_ch_desc;
+   Bool is_grp_cphr_key_num_present; //truncation or optional 
+   grp_cphr_key_num_struct grp_cphr_key_num;
+   Bool is_gprs_rsmp_present; //truncation or optional 
+   gprs_rsmp_struct gprs_rsmp;
+   Bool is_ba_list__pref_present; //truncation or optional 
+   ba_list_pref__struct ba_list__pref;
+   Bool is_utran_freq_list_present; //truncation or optional 
+   utran_freq_list_struct utran_freq_list;
+   Bool is_cell_ch_desc_present; //truncation or optional 
+   cell_ch_desc_struct cell_ch_desc;
+   Bool is_cell_sel_ind_after_rel_present; //truncation or optional 
+   cell_sel_ind_after_rel_struct cell_sel_ind_after_rel;
+   Bool is_ehncd_dtm_cs_rel_ind_present; //truncation or optional 
+   ehncd_dtm_cs_rel_ind_struct ehncd_dtm_cs_rel_ind;
+   Bool is_vgcs_cphr_param_present; //truncation or optional 
+   vgcs_cphr_param_struct vgcs_cphr_param;
+   Bool is_grp_ch_desc2_present; //truncation or optional 
+   grp_ch_desc2_struct grp_ch_desc2;
+   Bool is_talker_identity_present; //truncation or optional 
+   talker_identity_struct talker_identity;
+   Bool is_talker_priority_status_present; //truncation or optional 
+   talker_priority_status_struct talker_priority_status;
+   Bool is_vgcs_amr_config_present; //truncation or optional 
+   vgcs_amr_config_struct vgcs_amr_config;
+   Bool is_indiv_prio_present; //truncation or optional 
+   individual_priority_struct indiv_prio;
+}channel_release_struct;
+
+/* SEQUENCE mobile_station_classmark2_struct */
+typedef struct mobile_station_classmark2_struct{
+   U8 length;
+   U8 revision_level;
+   U8 es_ind;
+   U8 a5_1;
+   U8 rf_power_capability;
+   U8 ps_capa;
+   U8 ss_screen_indicator;
+   U8 sm_capa;
+   U8 vbs;
+   U8 vgcs;
+   U8 fc;
+   U8 cm3;
+   U8 lcsva_capa;
+   U8 ucs2;
+   U8 solsa;
+   U8 cmsp;
+   U8 a5_3;
+   U8 a5_2;
+}mobile_station_classmark2_struct;
+
+/* SEQUENCE a5 bits for cm3 */
+typedef struct a5_bits_for_cm3{
+   U8 a5_7;
+   U8 a5_6;
+   U8 a5_5;
+   U8 a5_4;
+}a5_bits_for_cm3;
+
+typedef U8 r_support;
+
+typedef U8 hscsd_multi_slot_capability;
+
+/* SEQUENCE ms measurement capability */
+typedef struct ms_measurement_capability{
+   U8 sms_value;
+   U8 sm_value;
+}ms_measurement_capability;
+
+typedef U8 ms_positioning_method_capability;
+
+typedef U8 ecsd_multi_slot_capability;
+
+/* SEQUENCE 8 psk struct */
+typedef struct p_8_psk_struct{
+   U8 modulation_capability;
+   ispresent p_8_psk_struct_s_1_tag;
+   union p_8_psk_struct_s_1_value{
+      U8 p_8_psk_rf_power_capability_1;
+   }p_8_psk_struct_s_1_value;
+   ispresent p_8_psk_struct_s_2_tag;
+   union p_8_psk_struct_s_2_value{
+      U8 p_8_psk_rf_power_capability_2;
+   }p_8_psk_struct_s_2_value;
+}p_8_psk_struct;
+
+typedef U8 single_band_support;
+
+/* SEQUENCE channels_needed_struct */
+typedef struct channels_needed_struct{
+   U8 second_channel;
+   U8 first_channel;
+}channels_needed_struct;
+
+/* SEQUENCE page_mode_struct */
+typedef struct page_mode_struct{
+   U8 page_mode;
+}page_mode_struct;
+
+/* SEQUENCE mobile_identity_struct */
+typedef struct mobile_identity_for_paging_struct{
+   U8 digit_0;
+   U8 odd_or_even;
+   U8 identity_type;
+   U16 numElements_rest_digit;
+   U8 * rest_digit;
+}mobile_identity_for_paging_struct;
+
+typedef enum {
+   MBMS_SERVICE_ID,
+   TMGI_IE_S_1
+}tmgi_ie_s_0_enum;
+
+typedef struct tmgi_ie_s_1{
+   U32 mbms_service_id;
+   U16 mcc;
+   U16 mnc;
+}tmgi_ie_s_1;
+
+/* SEQUENCE tmgi ie */
+typedef struct tmgi_ie{
+   tmgi_ie_s_0_enum tmgi_ie_s_0_tag;
+   union tmgi_ie_s_0_value{
+      U32 mbms_service_id;
+      tmgi_ie_s_1 m_tmgi_ie_s_1;
+   }tmgi_ie_s_0_value;
+}tmgi_ie;
+
+typedef struct mbms_session_parameters_list_ie_s_1{
+   U8 length_of_mbms_bearer_identity;
+   U16 numElements_mbms_bearer_identity;
+   U8 * mbms_bearer_identity;
+   U8 estimated_session_duration;
+   ispresent mbms_session_parameters_list_ie_s_2_tag;
+   union mbms_session_parameters_list_ie_s_2_value{
+      U16 mbms_radio_bearer_starting_time;
+   }mbms_session_parameters_list_ie_s_2_value;
+   ispresent mbms_session_parameters_list_ie_s_3_tag;
+   union mbms_session_parameters_list_ie_s_3_value{
+      U8 egprs_window_size;
+   }mbms_session_parameters_list_ie_s_3_value;
+   ispresent mbms_session_parameters_list_ie_s_4_tag;
+   union mbms_session_parameters_list_ie_s_4_value{
+      U8 npm_transfer_time;
+   }mbms_session_parameters_list_ie_s_4_value;
+}mbms_session_parameters_list_ie_s_1;
+
+/* SEQUENCE mbms session parameters list ie */
+typedef struct mbms_session_parameters_list_ie{
+   U16 numElements_m_mbms_session_parameters_list_ie_s_1;
+   mbms_session_parameters_list_ie_s_1 * m_mbms_session_parameters_list_ie_s_1;
+}mbms_session_parameters_list_ie;
+
+/* SEQUENCE mprach control parameters ie */
+typedef struct mprach_control_parameters_ie{
+   ispresent mprach_control_parameters_ie_s_1_tag;
+   union mprach_control_parameters_ie_s_1_value{
+      U16 acc_contr_class;
+   }mprach_control_parameters_ie_s_1_value;
+   ispresent mprach_control_parameters_ie_s_2_tag;
+   union mprach_control_parameters_ie_s_2_value{
+      U8 max_retrans;
+   }mprach_control_parameters_ie_s_2_value;
+   U8 s;
+   ispresent mprach_control_parameters_ie_s_3_tag;
+   union mprach_control_parameters_ie_s_3_value{
+      U8 tx_int;
+   }mprach_control_parameters_ie_s_3_value;
+   ispresent mprach_control_parameters_ie_s_4_tag;
+   union mprach_control_parameters_ie_s_4_value{
+      U8 persistence_level;
+   }mprach_control_parameters_ie_s_4_value;
+}mprach_control_parameters_ie;
+
+typedef enum {
+   MOBILE_ALLOCATION,
+   FREQUENCY_SHORT_LIST_FOR_PAGING_REQ
+}group_channel_description_for_paging_req_s_2_enum;
+
+typedef struct frequency_short_list_for_paging_req{
+   U16 numElements_frequency_short_list_for_paging_req;
+   U8 * frequency_short_list_for_paging_req;
+}frequency_short_list_for_paging_req;
+
+typedef struct group_channel_description_for_paging_req_s_2{
+   group_channel_description_for_paging_req_s_2_enum group_channel_description_for_paging_req_s_2_tag;
+   union group_channel_description_for_paging_req_s_2_value{
+      struct bit_string * mobile_allocation;
+      frequency_short_list_for_paging_req m_frequency_short_list_for_paging_req;
+   }group_channel_description_for_paging_req_s_2_value;
+}group_channel_description_for_paging_req_s_2;
+
+/* SEQUENCE group channel description for paging req */
+typedef struct group_channel_description_for_paging_req{
+   U32 channel_description;
+   ispresent group_channel_description_for_paging_req_s_1_tag;
+   union group_channel_description_for_paging_req_s_1_value{
+      group_channel_description_for_paging_req_s_2 m_group_channel_description_for_paging_req_s_2;
+   }group_channel_description_for_paging_req_s_1_value;
+}group_channel_description_for_paging_req;
+
+typedef enum {
+   BIT_STRING_S_0_NULL,
+   M_BIT_STRING
+}bit_string_s_0_enum;
+
+/* SEQUENCE bit string */
+typedef struct bit_string{
+   bit_string_s_0_enum bit_string_s_0_tag;
+   union bit_string_s_0_value{
+      struct bit_string * m_bit_string;
+   }bit_string_s_0_value;
+}bit_string;
+
+typedef enum {
+   TOTAL_NO_OF_SEGMENTS_FOR_ETWS_PRIMARY_NOTIFICATION,
+   SEGMENT_NUMBER
+}etws_primary_notification_struct_s_1_enum;
+
+/* SEQUENCE etws primary notification struct */
+typedef struct etws_primary_notification_struct{
+   etws_primary_notification_struct_s_1_enum etws_primary_notification_struct_s_1_tag;
+   union etws_primary_notification_struct_s_1_value{
+      U8 total_no_of_segments_for_etws_primary_notification;
+      U8 segment_number;
+   }etws_primary_notification_struct_s_1_value;
+   U8 pni;
+   U8 length_of_segment;
+   U16 numElements_etws_primary_notification_data;
+   U8 * etws_primary_notification_data;
+}etws_primary_notification_struct;
+
+typedef struct p3_rest_octets_struct_s_2{
+   U8 cn3;
+   U8 cn4;
+}p3_rest_octets_struct_s_2;
+
+typedef struct p3_rest_octets_struct_s_4{
+   U8 nln;
+   U8 nln_status;
+}p3_rest_octets_struct_s_4;
+
+typedef enum {
+   P3_REST_OCTETS_STRUCT_S_9_NULL,
+   LHSTRING_L_p3_rest, // L
+   P3_REST_OCTETS_STRUCT_S_10 // H
+}p3_rest_octets_struct_s_9_enum;
+
+typedef struct p3_rest_octets_struct_s_10{
+   U8 implicit_reject_cs;
+   U8 implicit_reject_ps;
+}p3_rest_octets_struct_s_10;
+
+/* SEQUENCE p3_rest_octets_struct */
+typedef struct p3_rest_octets_struct{
+   isLHpresent p3_rest_octets_struct_s_1_tag;
+   union p3_rest_octets_struct_s_1_value{
+      p3_rest_octets_struct_s_2 m_p3_rest_octets_struct_s_2;
+   }p3_rest_octets_struct_s_1_value;
+   isLHpresent p3_rest_octets_struct_s_3_tag;
+   union p3_rest_octets_struct_s_3_value{
+      p3_rest_octets_struct_s_4 m_p3_rest_octets_struct_s_4;
+   }p3_rest_octets_struct_s_3_value;
+   isLHpresent p3_rest_octets_struct_s_5_tag;
+   union p3_rest_octets_struct_s_5_value{
+      U8 priority1;
+   }p3_rest_octets_struct_s_5_value;
+   isLHpresent p3_rest_octets_struct_s_6_tag;
+   union p3_rest_octets_struct_s_6_value{
+      U8 priority2;
+   }p3_rest_octets_struct_s_6_value;
+   isLHpresent p3_rest_octets_struct_s_7_tag;
+   union p3_rest_octets_struct_s_7_value{
+      U8 priority3;
+   }p3_rest_octets_struct_s_7_value;
+   isLHpresent p3_rest_octets_struct_s_8_tag;
+   union p3_rest_octets_struct_s_8_value{
+      U8 priority4;
+   }p3_rest_octets_struct_s_8_value;
+   p3_rest_octets_struct_s_9_enum p3_rest_octets_struct_s_9_tag;
+   union p3_rest_octets_struct_s_9_value{
+      p3_rest_octets_struct_s_10 m_p3_rest_octets_struct_s_10;
+   }p3_rest_octets_struct_s_9_value;
+}p3_rest_octets_struct;
+
+/* SEQUENCE measurement parameters description si2q struct */
+typedef struct measurement_parameters_description_si2q_struct{
+   U8 report_type;
+   U8 serving_band_reporting;
+}measurement_parameters_description_si2q_struct;
+
+typedef struct p_3_g_measurement_parameters_description_si2q_struct_s_2{
+   U8 fdd_qoffset;
+   U8 fdd_rep_quant;
+   U8 fdd_multirat_reporting;
+   U8 fdd_qmin;
+}p_3_g_measurement_parameters_description_si2q_struct_s_2;
+
+typedef struct p_3_g_measurement_parameters_description_si2q_struct_s_4{
+   U8 tdd_qoffset;
+   U8 tdd_multirat_reporting;
+}p_3_g_measurement_parameters_description_si2q_struct_s_4;
+
+/* SEQUENCE 3 g measurement parameters description si2q struct */
+typedef struct p_3_g_measurement_parameters_description_si2q_struct{
+   U8 qsearch_i;
+   U8 qsearch_c_initial;
+   ispresent p_3_g_measurement_parameters_description_si2q_struct_s_1_tag;
+   union p_3_g_measurement_parameters_description_si2q_struct_s_1_value{
+      p_3_g_measurement_parameters_description_si2q_struct_s_2 m_p_3_g_measurement_parameters_description_si2q_struct_s_2;
+   }p_3_g_measurement_parameters_description_si2q_struct_s_1_value;
+   ispresent p_3_g_measurement_parameters_description_si2q_struct_s_3_tag;
+   union p_3_g_measurement_parameters_description_si2q_struct_s_3_value{
+      p_3_g_measurement_parameters_description_si2q_struct_s_4 m_p_3_g_measurement_parameters_description_si2q_struct_s_4;
+   }p_3_g_measurement_parameters_description_si2q_struct_s_3_value;
+}p_3_g_measurement_parameters_description_si2q_struct;
+
+/* SEQUENCE rtd6 si2q struct */
+typedef struct rtd6_si2q_struct{
+   U16 numElements_rtd;
+   U8 * rtd;
+}rtd6_si2q_struct;
+
+/* SEQUENCE rtd12 si2q struct */
+typedef struct rtd12_si2q_struct{
+   U16 numElements_rtd;
+   U16 * rtd;
+}rtd12_si2q_struct;
+
+typedef struct gprs_bsic_description_struct_s_2{
+   U8 frequency_scrolling;
+   U8 bsic;
+}gprs_bsic_description_struct_s_2;
+
+/* SEQUENCE gprs_bsic description struct */
+typedef struct gprs_bsic_description_struct{
+   ispresent gprs_bsic_description_struct_s_1_tag;
+   union gprs_bsic_description_struct_s_1_value{
+      U8 ba_index_start_bsic;
+   }gprs_bsic_description_struct_s_1_value;
+   U8 bsic;
+   U8 number_remaining_bsic;
+   U16 numElements_m_gprs_bsic_description_struct_s_2;
+   gprs_bsic_description_struct_s_2 * m_gprs_bsic_description_struct_s_2;
+}gprs_bsic_description_struct;
+
+/* SEQUENCE gprs_report_priority description struct */
+typedef struct gprs_report_priority_description_struct{
+   U8 number_cells;
+   U16 numElements_rep_priority;
+   U8 * rep_priority;
+}gprs_report_priority_description_struct;
+
+/* SEQUENCE gprs_measurement parameters description struct */
+typedef struct gprs_measurement_parameters_description_si2q_struct{
+   U8 report_type;
+   U8 reporting_rate;
+   U8 invalid_bsic_reporting;
+   ispresent gprs_measurement_parameters_description_struct_s_1_tag;
+   union gprs_measurement_parameters_description_struct_s_1_value_si2q{
+      U8 multiband_reporting;
+   }gprs_measurement_parameters_description_struct_s_1_value_si2q;
+   ispresent gprs_measurement_parameters_description_struct_s_2_tag;
+   union gprs_measurement_parameters_description_struct_s_2_value_si2q{
+      U8 serving_band_reporting;
+   }gprs_measurement_parameters_description_struct_s_2_value_si2q;
+   U8 scale_ord;
+   ispresent gprs_measurement_parameters_description_struct_s_3_tag;
+   union gprs_measurement_parameters_description_struct_s_3_value_si2q{
+      gprs_measurement_parameters_description_struct_s_4 m_gprs_measurement_parameters_description_struct_s_4;
+   }gprs_measurement_parameters_description_struct_s_3_value_si2q;
+   ispresent gprs_measurement_parameters_description_struct_s_5_tag;
+   union gprs_measurement_parameters_description_struct_s_5_value_si2q{
+      gprs_measurement_parameters_description_struct_s_6 m_gprs_measurement_parameters_description_struct_s_6;
+   }gprs_measurement_parameters_description_struct_s_5_value_si2q;
+   ispresent gprs_measurement_parameters_description_struct_s_7_tag;
+   union gprs_measurement_parameters_description_struct_s_7_value_si2q{
+      gprs_measurement_parameters_description_struct_s_8 m_gprs_measurement_parameters_description_struct_s_8;
+   }gprs_measurement_parameters_description_struct_s_7_value_si2q;
+   ispresent gprs_measurement_parameters_description_struct_s_9_tag;
+   union gprs_measurement_parameters_description_struct_s_9_value_si2q{
+      gprs_measurement_parameters_description_struct_s_10 m_gprs_measurement_parameters_description_struct_s_10;
+   }gprs_measurement_parameters_description_struct_s_9_value_si2q;
+   ispresent gprs_measurement_parameters_description_struct_s_11_tag;
+   union gprs_measurement_parameters_description_struct_s_11_value_si2q{
+      gprs_measurement_parameters_description_struct_s_12 m_gprs_measurement_parameters_description_struct_s_12;
+   }gprs_measurement_parameters_description_struct_s_11_value_si2q;
+}gprs_measurement_parameters_description_si2q_struct;
+
+typedef struct gprs_3g_measurement_parameters_description_struct_s_3{
+   U8 fdd_rep_quant;
+   U8 fdd_multirat_reporting;
+}gprs_3g_measurement_parameters_description_struct_s_3;
+
+typedef struct gprs_3g_measurement_parameters_description_struct_s_5{
+   U8 fdd_reporting_offset;
+   U8 fdd_reporting_threshold;
+}gprs_3g_measurement_parameters_description_struct_s_5;
+
+typedef struct gprs_3g_measurement_parameters_description_struct_s_8{
+   U8 tdd_reporting_offset;
+   U8 tdd_reporting_threshold;
+}gprs_3g_measurement_parameters_description_struct_s_8;
+
+/* SEQUENCE gprs_3g measurement parameters description struct */
+typedef struct gprs_3g_measurement_parameters_description_struct{
+   U8 qsearch_p;
+   ispresent gprs_3g_measurement_parameters_description_struct_s_2_tag;
+   union gprs_3g_measurement_parameters_description_struct_s_2_value{
+      gprs_3g_measurement_parameters_description_struct_s_3 m_gprs_3g_measurement_parameters_description_struct_s_3;
+   }gprs_3g_measurement_parameters_description_struct_s_2_value;
+   ispresent gprs_3g_measurement_parameters_description_struct_s_4_tag;
+   union gprs_3g_measurement_parameters_description_struct_s_4_value{
+      gprs_3g_measurement_parameters_description_struct_s_5 m_gprs_3g_measurement_parameters_description_struct_s_5;
+   }gprs_3g_measurement_parameters_description_struct_s_4_value;
+   ispresent gprs_3g_measurement_parameters_description_struct_s_6_tag;
+   union gprs_3g_measurement_parameters_description_struct_s_6_value{
+      U8 tdd_multirat_reporting;
+   }gprs_3g_measurement_parameters_description_struct_s_6_value;
+   ispresent gprs_3g_measurement_parameters_description_struct_s_7_tag;
+   union gprs_3g_measurement_parameters_description_struct_s_7_value{
+      gprs_3g_measurement_parameters_description_struct_s_8 m_gprs_3g_measurement_parameters_description_struct_s_8;
+   }gprs_3g_measurement_parameters_description_struct_s_7_value;
+}gprs_3g_measurement_parameters_description_struct;
+
+typedef struct nc_measurement_parameters_si2q_struct_s_2{
+   U8 nc__non_drx_period;
+   U8 nc_reporting_period_i;
+   U8 nc_reporting_period_t;
+}nc_measurement_parameters_si2q_struct_s_2;
+
+/* SEQUENCE nc measurement parameters si2q struct */
+typedef struct nc_measurement_parameters_si2q_struct{
+   U8 network_control_order;
+   ispresent nc_measurement_parameters_si2q_struct_s_1_tag;
+   union nc_measurement_parameters_si2q_struct_s_1_value{
+      nc_measurement_parameters_si2q_struct_s_2 m_nc_measurement_parameters_si2q_struct_s_2;
+   }nc_measurement_parameters_si2q_struct_s_1_value;
+}nc_measurement_parameters_si2q_struct;
+
+/* SEQUENCE 3 g additional measurement parameters description struct */
+typedef struct p_3_g_additional_measurement_parameters_description_struct{
+   U8 fdd_qmin_offset;
+   U8 fdd_rscpmin;
+}p_3_g_additional_measurement_parameters_description_struct;
+
+/* SEQUENCE serving cell priority parameters description struct */
+typedef struct serving_cell_priority_parameters_description_struct{
+   U8 geran_priority;
+   U8 thresh_priority_search;
+   U8 thresh_gsm_low;
+   U8 h_prio;
+   U8 t_reselection;
+}serving_cell_priority_parameters_description_struct;
+
+/* SEQUENCE repeated utran priority parameters struct */
+typedef struct repeated_utran_priority_parameters_struct{
+   U16 numElements_utran_frequency_index;
+   U8 * utran_frequency_index;
+   ispresent repeated_utran_priority_parameters_struct_s_2_tag;
+   union repeated_utran_priority_parameters_struct_s_2_value{
+      U8 utran_priority;
+   }repeated_utran_priority_parameters_struct_s_2_value;
+   U8 thresh_utran_high;
+   ispresent repeated_utran_priority_parameters_struct_s_3_tag;
+   union repeated_utran_priority_parameters_struct_s_3_value{
+      U8 thresh_utran_low;
+   }repeated_utran_priority_parameters_struct_s_3_value;
+   ispresent repeated_utran_priority_parameters_struct_s_4_tag;
+   union repeated_utran_priority_parameters_struct_s_4_value{
+      U8 utran_qrxlevmin;
+   }repeated_utran_priority_parameters_struct_s_4_value;
+}repeated_utran_priority_parameters_struct;
+
+typedef struct gprs_e_utran_measurement_parameters_description_struct_s_2{
+   U8 e_utran_fdd_reporting_threshold;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_3_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_3_value{
+      U8 e_utran_fdd_reporting_threshold_2;
+   }gprs_e_utran_measurement_parameters_description_struct_s_3_value;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_4_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_4_value{
+      U8 e_utran_fdd_reporting_offset;
+   }gprs_e_utran_measurement_parameters_description_struct_s_4_value;
+}gprs_e_utran_measurement_parameters_description_struct_s_2;
+
+typedef struct gprs_e_utran_measurement_parameters_description_struct_s_6{
+   U8 e_utran_tdd_reporting_threshold;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_7_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_7_value{
+      U8 e_utran_tdd_reporting_threshold_2;
+   }gprs_e_utran_measurement_parameters_description_struct_s_7_value;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_8_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_8_value{
+      U8 e_utran_tdd_reporting_offset;
+   }gprs_e_utran_measurement_parameters_description_struct_s_8_value;
+}gprs_e_utran_measurement_parameters_description_struct_s_6;
+
+/* SEQUENCE gprs e-utran measurement parameters description struct */
+typedef struct gprs_e_utran_measurement_parameters_description_struct{
+   U8 qsearch_p_e_utran;
+   U8 e_utran_rep_quant;
+   U8 e_utran_multirat_reporting;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_1_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_1_value{
+      gprs_e_utran_measurement_parameters_description_struct_s_2 m_gprs_e_utran_measurement_parameters_description_struct_s_2;
+   }gprs_e_utran_measurement_parameters_description_struct_s_1_value;
+   ispresent gprs_e_utran_measurement_parameters_description_struct_s_5_tag;
+   union gprs_e_utran_measurement_parameters_description_struct_s_5_value{
+      gprs_e_utran_measurement_parameters_description_struct_s_6 m_gprs_e_utran_measurement_parameters_description_struct_s_6;
+   }gprs_e_utran_measurement_parameters_description_struct_s_5_value;
+}gprs_e_utran_measurement_parameters_description_struct;
+
+typedef struct repeated_e_utran_neighbour_cells_si2q_struct_s_1{
+   U16 earfcn;
+   ispresent repeated_e_utran_neighbour_cells_si2q_struct_s_2_tag;
+   union repeated_e_utran_neighbour_cells_si2q_struct_s_2_value{
+      U8 measurement_bandwidth;
+   }repeated_e_utran_neighbour_cells_si2q_struct_s_2_value;
+}repeated_e_utran_neighbour_cells_si2q_struct_s_1;
+
+/* SEQUENCE repeated e-utran neighbour cells si2q struct */
+typedef struct repeated_e_utran_neighbour_cells_si2q_struct{
+   U16 numElements_m_repeated_e_utran_neighbour_cells_si2q_struct_s_1;
+   repeated_e_utran_neighbour_cells_si2q_struct_s_1 * m_repeated_e_utran_neighbour_cells_si2q_struct_s_1;
+   ispresent repeated_e_utran_neighbour_cells_si2q_struct_s_3_tag;
+   union repeated_e_utran_neighbour_cells_si2q_struct_s_3_value{
+      U8 e_utran_priority;
+   }repeated_e_utran_neighbour_cells_si2q_struct_s_3_value;
+   U8 thresh_e_utran_high;
+   ispresent repeated_e_utran_neighbour_cells_si2q_struct_s_4_tag;
+   union repeated_e_utran_neighbour_cells_si2q_struct_s_4_value{
+      U8 thresh_e_utran_low;
+   }repeated_e_utran_neighbour_cells_si2q_struct_s_4_value;
+   ispresent repeated_e_utran_neighbour_cells_si2q_struct_s_5_tag;
+   union repeated_e_utran_neighbour_cells_si2q_struct_s_5_value{
+      U8 e_utran_qrxlevmin;
+   }repeated_e_utran_neighbour_cells_si2q_struct_s_5_value;
+}repeated_e_utran_neighbour_cells_si2q_struct;
+
+typedef struct psc_group_ie_s_2{
+   U8 psc_pattern_length;
+   U16 numElements_psc_pattern;
+   U8 * psc_pattern;
+   U8 psc_pattern_sense;
+}psc_group_ie_s_2;
+
+/* SEQUENCE psc group ie */
+typedef struct psc_group_ie{
+   U16 numElements_psc;
+   U16 * psc;
+   U16 numElements_m_psc_group_ie_s_2;
+   psc_group_ie_s_2 * m_psc_group_ie_s_2;
+}psc_group_ie;
+
+typedef struct pcid_group_ie_s_3{
+   U8 pcid_pattern_length;
+   U16 numElements_pcid_pattern;
+   U8 * pcid_pattern;
+   U8 pcid_pattern_sense;
+}pcid_group_ie_s_3;
+
+/* SEQUENCE pcid group ie */
+typedef struct pcid_group_ie{
+   U16 numElements_pcid;
+   U16 * pcid;
+   ispresent pcid_group_ie_s_2_tag;
+   union pcid_group_ie_s_2_value{
+      U8 pcid_bitmap_group;
+   }pcid_group_ie_s_2_value;
+   U16 numElements_m_pcid_group_ie_s_3;
+   pcid_group_ie_s_3 * m_pcid_group_ie_s_3;
+}pcid_group_ie;
+
+typedef enum {
+   E_UTRAN_QMIN,
+   REPEATED_E_UTRAN_ENHANCED_CELL_RESELECTION_PARAMETERS_STRUCT_S_3
+}repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_2_enum;
+
+typedef struct repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_3{
+   U8 thresh_e_utran_high_q;
+   ispresent repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_4_tag;
+   union repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_4_value{
+      U8 thresh_e_utran_low_q;
+   }repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_4_value;
+   ispresent repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_5_tag;
+   union repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_5_value{
+      U8 e_utran_qqualmin;
+   }repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_5_value;
+   ispresent repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_6_tag;
+   union repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_6_value{
+      U8 e_utran_rsrpmin;
+   }repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_6_value;
+}repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_3;
+
+/* SEQUENCE repeated e-utran enhanced cell reselection parameters struct */
+typedef struct repeated_e_utran_enhanced_cell_reselection_parameters_struct{
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+   repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_2_enum repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_2_tag;
+   union repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_2_value{
+      U8 e_utran_qmin;
+      repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_3 m_repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_3;
+   }repeated_e_utran_enhanced_cell_reselection_parameters_struct_s_2_value;
+}repeated_e_utran_enhanced_cell_reselection_parameters_struct;
+
+typedef struct utran_csg_cells_reporting_description_struct_s_2{
+   U8 utran_csg_fdd_reporting_threshold;
+   U8 utran_csg_fdd_reporting_threshold_2;
+}utran_csg_cells_reporting_description_struct_s_2;
+
+/* SEQUENCE utran csg cells reporting description struct */
+typedef struct utran_csg_cells_reporting_description_struct{
+   ispresent utran_csg_cells_reporting_description_struct_s_1_tag;
+   union utran_csg_cells_reporting_description_struct_s_1_value{
+      utran_csg_cells_reporting_description_struct_s_2 m_utran_csg_cells_reporting_description_struct_s_2;
+   }utran_csg_cells_reporting_description_struct_s_1_value;
+   ispresent utran_csg_cells_reporting_description_struct_s_3_tag;
+   union utran_csg_cells_reporting_description_struct_s_3_value{
+      U8 utran_csg_tdd_reporting_threshold;
+   }utran_csg_cells_reporting_description_struct_s_3_value;
+}utran_csg_cells_reporting_description_struct;
+
+typedef struct e_utran_csg_cells_reporting_description_struct_s_2{
+   U8 e_utran_csg_fdd_reporting_threshold;
+   U8 e_utran_csg_fdd_reporting_threshold_2;
+}e_utran_csg_cells_reporting_description_struct_s_2;
+
+typedef struct e_utran_csg_cells_reporting_description_struct_s_4{
+   U8 e_utran_csg_tdd_reporting_threshold;
+   U8 e_utran_csg_fdd_reporting_threshold_2;
+}e_utran_csg_cells_reporting_description_struct_s_4;
+
+/* SEQUENCE e-utran csg cells reporting description struct */
+typedef struct e_utran_csg_cells_reporting_description_struct{
+   ispresent e_utran_csg_cells_reporting_description_struct_s_1_tag;
+   union e_utran_csg_cells_reporting_description_struct_s_1_value{
+      e_utran_csg_cells_reporting_description_struct_s_2 m_e_utran_csg_cells_reporting_description_struct_s_2;
+   }e_utran_csg_cells_reporting_description_struct_s_1_value;
+   ispresent e_utran_csg_cells_reporting_description_struct_s_3_tag;
+   union e_utran_csg_cells_reporting_description_struct_s_3_value{
+      e_utran_csg_cells_reporting_description_struct_s_4 m_e_utran_csg_cells_reporting_description_struct_s_4;
+   }e_utran_csg_cells_reporting_description_struct_s_3_value;
+}e_utran_csg_cells_reporting_description_struct;
+
+typedef enum {
+   CDMA_2000_DESCRIPTION_STRUCT_S_4,
+   CDMA_2000_DESCRIPTION_STRUCT_S_5,
+   CDMA_2000_DESCRIPTION_STRUCT_S_6,
+   CDMA_2000_DESCRIPTION_STRUCT_S_7,
+   CDMA_2000_DESCRIPTION_STRUCT_S_8
+}cdma_2000_description_struct_s_3_enum;
+
+typedef struct cdma_2000_description_struct_s_4{
+   U8 td_mode;
+   U8 td_power_level;
+}cdma_2000_description_struct_s_4;
+
+typedef struct cdma_2000_description_struct_s_5{
+   U8 qof;
+   U8 walsh_len_a;
+   U16 numElements_aux_pilot_walsh;
+   U8 * aux_pilot_walsh;
+}cdma_2000_description_struct_s_5;
+
+typedef struct cdma_2000_description_struct_s_6{
+   U8 qof;
+   U8 walsh_len_b;
+   U16 numElements_aux_td_walsh;
+   U8 * aux_td_walsh;
+   U8 aux_td_power_level;
+   U8 td_mode;
+}cdma_2000_description_struct_s_6;
+
+typedef struct cdma_2000_description_struct_s_7{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+}cdma_2000_description_struct_s_7;
+
+typedef struct cdma_2000_description_struct_s_10{
+   U8 qof1;
+   U8 walsh_length1;
+   U16 numElements_aux_pilot_walsh1;
+   U8 * aux_pilot_walsh1;
+}cdma_2000_description_struct_s_10;
+
+typedef struct cdma_2000_description_struct_s_12{
+   U8 qof2;
+   U8 walsh_length2;
+   U16 numElements_aux_pilot_walsh2;
+   U8 * aux_pilot_walsh2;
+}cdma_2000_description_struct_s_12;
+
+typedef struct cdma_2000_description_struct_s_8{
+   U8 sr3_prim_pilot;
+   U8 sr3_pilot_power1;
+   U8 sr3_pilot_power2;
+   U8 qof;
+   U8 walsh_len_c;
+   U16 numElements_aux_walsh_len;
+   U8 * aux_walsh_len;
+   ispresent cdma_2000_description_struct_s_9_tag;
+   union cdma_2000_description_struct_s_9_value{
+      cdma_2000_description_struct_s_10 m_cdma_2000_description_struct_s_10;
+   }cdma_2000_description_struct_s_9_value;
+   ispresent cdma_2000_description_struct_s_11_tag;
+   union cdma_2000_description_struct_s_11_value{
+      cdma_2000_description_struct_s_12 m_cdma_2000_description_struct_s_12;
+   }cdma_2000_description_struct_s_11_value;
+}cdma_2000_description_struct_s_8;
+
+typedef struct cdma_2000_description_struct_s_3{
+   cdma_2000_description_struct_s_3_enum cdma_2000_description_struct_s_3_tag;
+   union cdma_2000_description_struct_s_3_value{
+      cdma_2000_description_struct_s_4 m_cdma_2000_description_struct_s_4;
+      cdma_2000_description_struct_s_5 m_cdma_2000_description_struct_s_5;
+      cdma_2000_description_struct_s_6 m_cdma_2000_description_struct_s_6;
+      cdma_2000_description_struct_s_7 m_cdma_2000_description_struct_s_7;
+      cdma_2000_description_struct_s_8 m_cdma_2000_description_struct_s_8;
+   }cdma_2000_description_struct_s_3_value;
+}cdma_2000_description_struct_s_3;
+
+typedef struct cdma_2000_description_struct_s_1{
+   U16 pilot_pn_offset;
+   ispresent cdma_2000_description_struct_s_2_tag;
+   union cdma_2000_description_struct_s_2_value{
+      cdma_2000_description_struct_s_3 m_cdma_2000_description_struct_s_3;
+   }cdma_2000_description_struct_s_2_value;
+}cdma_2000_description_struct_s_1;
+
+/* SEQUENCE cdma 2000 description struct */
+typedef struct cdma_2000_description_struct{
+   U8 cdma2000_frequency_band;
+   U16 cdma2000_frequency;
+   U8 number_cdma2000_cells;
+   U16 numElements_m_cdma_2000_description_struct_s_1;
+   cdma_2000_description_struct_s_1 * m_cdma_2000_description_struct_s_1;
+}cdma_2000_description_struct;
+
+/* SEQUENCE rtd6 mi struct */
+typedef struct rtd6_mi_struct{
+   U16 numElements_rtd;
+   U8 * rtd;
+}rtd6_mi_struct;
+
+/* SEQUENCE rtd12 mi struct */
+typedef struct rtd12_mi_struct{
+   U16 numElements_rtd;
+   U16 * rtd;
+}rtd12_mi_struct;
+
+typedef struct measurement_parameters_description_mi_struct_s_4{
+   U8 p_900__reporting_offset;
+   U8 p_900__reporting_threshold;
+}measurement_parameters_description_mi_struct_s_4;
+
+typedef struct measurement_parameters_description_mi_struct_s_6{
+   U8 p_1800__reporting_offset;
+   U8 p_1800__reporting_threshold;
+}measurement_parameters_description_mi_struct_s_6;
+
+typedef struct measurement_parameters_description_mi_struct_s_8{
+   U8 p_400__reporting_offset;
+   U8 p_400__reporting_threshold;
+}measurement_parameters_description_mi_struct_s_8;
+
+typedef struct measurement_parameters_description_mi_struct_s_10{
+   U8 p_1900__reporting_offset;
+   U8 p_1900__reporting_threshold;
+}measurement_parameters_description_mi_struct_s_10;
+
+typedef struct measurement_parameters_description_mi_struct_s_12{
+   U8 p_850__reporting_offset;
+   U8 p_850__reporting_threshold;
+}measurement_parameters_description_mi_struct_s_12;
+
+/* SEQUENCE measurement parameters description mi struct */
+typedef struct measurement_parameters_description_mi_struct{
+   ispresent measurement_parameters_description_mi_struct_s_1_tag;
+   union measurement_parameters_description_mi_struct_s_1_value{
+      U8 multiband_reporting;
+   }measurement_parameters_description_mi_struct_s_1_value;
+   ispresent measurement_parameters_description_mi_struct_s_2_tag;
+   union measurement_parameters_description_mi_struct_s_2_value{
+      U8 serving_band_reporting;
+   }measurement_parameters_description_mi_struct_s_2_value;
+   U8 scale_ord;
+   ispresent measurement_parameters_description_mi_struct_s_3_tag;
+   union measurement_parameters_description_mi_struct_s_3_value{
+      measurement_parameters_description_mi_struct_s_4 m_measurement_parameters_description_mi_struct_s_4;
+   }measurement_parameters_description_mi_struct_s_3_value;
+   ispresent measurement_parameters_description_mi_struct_s_5_tag;
+   union measurement_parameters_description_mi_struct_s_5_value{
+      measurement_parameters_description_mi_struct_s_6 m_measurement_parameters_description_mi_struct_s_6;
+   }measurement_parameters_description_mi_struct_s_5_value;
+   ispresent measurement_parameters_description_mi_struct_s_7_tag;
+   union measurement_parameters_description_mi_struct_s_7_value{
+      measurement_parameters_description_mi_struct_s_8 m_measurement_parameters_description_mi_struct_s_8;
+   }measurement_parameters_description_mi_struct_s_7_value;
+   ispresent measurement_parameters_description_mi_struct_s_9_tag;
+   union measurement_parameters_description_mi_struct_s_9_value{
+      measurement_parameters_description_mi_struct_s_10 m_measurement_parameters_description_mi_struct_s_10;
+   }measurement_parameters_description_mi_struct_s_9_value;
+   ispresent measurement_parameters_description_mi_struct_s_11_tag;
+   union measurement_parameters_description_mi_struct_s_11_value{
+      measurement_parameters_description_mi_struct_s_12 m_measurement_parameters_description_mi_struct_s_12;
+   }measurement_parameters_description_mi_struct_s_11_value;
+}measurement_parameters_description_mi_struct;
+
+typedef struct p_3_g_measurement_parameters_description_mi_struct_s_4{
+   U8 fdd_reporting_offset;
+   U8 fdd_reporting_threshold;
+}p_3_g_measurement_parameters_description_mi_struct_s_4;
+
+typedef struct p_3_g_measurement_parameters_description_mi_struct_s_7{
+   U8 tdd_reporting_offset;
+   U8 tdd_reporting_threshold;
+}p_3_g_measurement_parameters_description_mi_struct_s_7;
+
+typedef struct p_3_g_measurement_parameters_description_mi_struct_s_10{
+   U8 cdma2000_reporting_offset;
+   U8 cdma2000_reporting_threshold;
+}p_3_g_measurement_parameters_description_mi_struct_s_10;
+
+/* SEQUENCE 3 g measurement parameters description mi struct */
+typedef struct p_3_g_measurement_parameters_description_mi_struct{
+   U8 qsearch_c;
+   U8 fdd_rep_quant;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_2_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_2_value{
+      U8 fdd_multirat_reporting;
+   }p_3_g_measurement_parameters_description_mi_struct_s_2_value;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_3_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_3_value{
+      p_3_g_measurement_parameters_description_mi_struct_s_4 m_p_3_g_measurement_parameters_description_mi_struct_s_4;
+   }p_3_g_measurement_parameters_description_mi_struct_s_3_value;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_5_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_5_value{
+      U8 tdd_multirat_reporting;
+   }p_3_g_measurement_parameters_description_mi_struct_s_5_value;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_6_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_6_value{
+      p_3_g_measurement_parameters_description_mi_struct_s_7 m_p_3_g_measurement_parameters_description_mi_struct_s_7;
+   }p_3_g_measurement_parameters_description_mi_struct_s_6_value;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_8_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_8_value{
+      U8 cdma2000_multirat_reporting;
+   }p_3_g_measurement_parameters_description_mi_struct_s_8_value;
+   ispresent p_3_g_measurement_parameters_description_mi_struct_s_9_tag;
+   union p_3_g_measurement_parameters_description_mi_struct_s_9_value{
+      p_3_g_measurement_parameters_description_mi_struct_s_10 m_p_3_g_measurement_parameters_description_mi_struct_s_10;
+   }p_3_g_measurement_parameters_description_mi_struct_s_9_value;
+}p_3_g_measurement_parameters_description_mi_struct;
+
+typedef enum {
+   E_UTRAN_MEASUREMENT_PARAMETERS_DESCRIPTION_STRUCT_S_2,
+   E_UTRAN_MEASUREMENT_PARAMETERS_DESCRIPTION_STRUCT_S_11
+}e_utran_measurement_parameters_description_struct_s_1_enum;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_4{
+   U8 e_utran_fdd_reporting_threshold;
+   ispresent e_utran_measurement_parameters_description_struct_s_5_tag;
+   union e_utran_measurement_parameters_description_struct_s_5_value{
+      U8 e_utran_fdd_reporting_threshold_2;
+   }e_utran_measurement_parameters_description_struct_s_5_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_6_tag;
+   union e_utran_measurement_parameters_description_struct_s_6_value_mi{
+      U8 e_utran_fdd_reporting_offset;
+   }e_utran_measurement_parameters_description_struct_s_6_value_mi;
+}e_utran_measurement_parameters_description_struct_s_4;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_8{
+   U8 e_utran_tdd_reporting_threshold;
+   ispresent e_utran_measurement_parameters_description_struct_s_9_tag;
+   union e_utran_measurement_parameters_description_struct_s_9_value{
+      U8 e_utran_tdd_reporting_threshold_2;
+   }e_utran_measurement_parameters_description_struct_s_9_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_10_tag;
+   union e_utran_measurement_parameters_description_struct_s_10_value{
+      U8 e_utran_tdd_reporting_offset;
+   }e_utran_measurement_parameters_description_struct_s_10_value;
+}e_utran_measurement_parameters_description_struct_s_8;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_2{
+   ispresent e_utran_measurement_parameters_description_struct_s_3_tag;
+   union e_utran_measurement_parameters_description_struct_s_3_value{
+      e_utran_measurement_parameters_description_struct_s_4 m_e_utran_measurement_parameters_description_struct_s_4;
+   }e_utran_measurement_parameters_description_struct_s_3_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_7_tag;
+   union e_utran_measurement_parameters_description_struct_s_7_value{
+      e_utran_measurement_parameters_description_struct_s_8 m_e_utran_measurement_parameters_description_struct_s_8;
+   }e_utran_measurement_parameters_description_struct_s_7_value;
+}e_utran_measurement_parameters_description_struct_s_2;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_13{
+   U8 e_utran_fdd_measurement_report_offset;
+   ispresent e_utran_measurement_parameters_description_struct_s_14_tag;
+   union e_utran_measurement_parameters_description_struct_s_14_value{
+      U8 e_utran_fdd_reporting_threshold_2;
+   }e_utran_measurement_parameters_description_struct_s_14_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_15_tag;
+   union e_utran_measurement_parameters_description_struct_s_15_value{
+      U8 e_utran_fdd_reporting_offset;
+   }e_utran_measurement_parameters_description_struct_s_15_value;
+}e_utran_measurement_parameters_description_struct_s_13;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_17{
+   U8 e_utran_tdd_measurement_report_offset;
+   ispresent e_utran_measurement_parameters_description_struct_s_18_tag;
+   union e_utran_measurement_parameters_description_struct_s_18_value{
+      U8 e_utran_tdd_reporting_threshold_2;
+   }e_utran_measurement_parameters_description_struct_s_18_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_19_tag;
+   union e_utran_measurement_parameters_description_struct_s_19_value{
+      U8 e_utran_tdd_reporting_offset;
+   }e_utran_measurement_parameters_description_struct_s_19_value;
+}e_utran_measurement_parameters_description_struct_s_17;
+
+typedef struct e_utran_measurement_parameters_description_struct_s_11{
+   ispresent e_utran_measurement_parameters_description_struct_s_12_tag;
+   union e_utran_measurement_parameters_description_struct_s_12_value{
+      e_utran_measurement_parameters_description_struct_s_13 m_e_utran_measurement_parameters_description_struct_s_13;
+   }e_utran_measurement_parameters_description_struct_s_12_value;
+   ispresent e_utran_measurement_parameters_description_struct_s_16_tag;
+   union e_utran_measurement_parameters_description_struct_s_16_value{
+      e_utran_measurement_parameters_description_struct_s_17 m_e_utran_measurement_parameters_description_struct_s_17;
+   }e_utran_measurement_parameters_description_struct_s_16_value;
+   U8 reporting_granularity;
+}e_utran_measurement_parameters_description_struct_s_11;
+
+/* SEQUENCE e-utran measurement parameters description struct */
+typedef struct e_utran_measurement_parameters_description_mi_struct{
+   U8 qsearch_c_e_utran;
+   U8 e_utran_rep_quant;
+   U8 e_utran_multirat_reporting;
+   e_utran_measurement_parameters_description_struct_s_1_enum e_utran_measurement_parameters_description_struct_s_1_tag;
+   union e_utran_measurement_parameters_description_struct_s_1_value_mi{
+      e_utran_measurement_parameters_description_struct_s_2 m_e_utran_measurement_parameters_description_struct_s_2;
+      e_utran_measurement_parameters_description_struct_s_11 m_e_utran_measurement_parameters_description_struct_s_11;
+   }e_utran_measurement_parameters_description_struct_s_1_value_mi;
+}e_utran_measurement_parameters_description_mi_struct;
+
+/* SEQUENCE repeated e-utran neighbour cells mi struct */
+typedef struct repeated_e_utran_neighbour_cells_mi_struct{
+   U16 earfcn;
+   U16 numElements_earfcn;
+   U16 * p_earfcn;
+   ispresent repeated_e_utran_neighbour_cells_mi_struct_s_2_tag;
+   union repeated_e_utran_neighbour_cells_mi_struct_s_2_value{
+      U8 measurement_bandwidth;
+   }repeated_e_utran_neighbour_cells_mi_struct_s_2_value;
+}repeated_e_utran_neighbour_cells_mi_struct;
+
+/* SEQUENCE repeated e-utran not allowed cells mi struct */
+typedef struct repeated_e_utran_not_allowed_cells_mi_struct{
+   pcid_group_ie not_allowed_cells;
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+}repeated_e_utran_not_allowed_cells_mi_struct;
+
+/* SEQUENCE repeated e-utran measurement control parameters struct */
+typedef struct repeated_e_utran_measurement_control_parameters_struct{
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+   U8 measurement_control_e_utran;
+}repeated_e_utran_measurement_control_parameters_struct;
+
+typedef struct e_utran_csg_description_mi_struct_s_1{
+   pcid_group_ie csg_pci_split;
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+}e_utran_csg_description_mi_struct_s_1;
+
+/* SEQUENCE e-utran csg description mi struct */
+typedef struct e_utran_csg_description_mi_struct{
+   U16 numElements_m_e_utran_csg_description_mi_struct_s_1;
+   e_utran_csg_description_mi_struct_s_1 * m_e_utran_csg_description_mi_struct_s_1;
+}e_utran_csg_description_mi_struct;
+
+typedef enum {
+   M_A5_BITS_FOR_CM3,
+   MOBILE_STATION_CLASSMARK3_STRUCT_S_2,
+   MOBILE_STATION_CLASSMARK3_STRUCT_S_3,
+   MOBILE_STATION_CLASSMARK3_STRUCT_S_4,
+   MOBILE_STATION_CLASSMARK3_STRUCT_S_5,
+   MOBILE_STATION_CLASSMARK3_STRUCT_S_6
+}mobile_station_classmark3_struct_s_1_enum;
+
+typedef struct mobile_station_classmark3_struct_s_2{
+   a5_bits_for_cm3 m_a5_bits_for_cm3;
+   U8 associated_radio_capability_2;
+   U8 associated_radio_capability_1;
+}mobile_station_classmark3_struct_s_2;
+
+typedef struct mobile_station_classmark3_struct_s_3{
+   a5_bits_for_cm3 m_a5_bits_for_cm3;
+   U8 associated_radio_capability_2;
+   U8 associated_radio_capability_1;
+}mobile_station_classmark3_struct_s_3;
+
+typedef struct mobile_station_classmark3_struct_s_4{
+   a5_bits_for_cm3 m_a5_bits_for_cm3;
+   U8 associated_radio_capability_1;
+}mobile_station_classmark3_struct_s_4;
+
+typedef struct mobile_station_classmark3_struct_s_5{
+   a5_bits_for_cm3 m_a5_bits_for_cm3;
+   U8 associated_radio_capability_1;
+}mobile_station_classmark3_struct_s_5;
+
+typedef struct mobile_station_classmark3_struct_s_6{
+   a5_bits_for_cm3 m_a5_bits_for_cm3;
+   U8 associated_radio_capability_1;
+}mobile_station_classmark3_struct_s_6;
+
+typedef enum {
+   CONCAT_01_mbms,
+   CONCAT_10_mbms,
+   CONCAT_11_mbms
+}gsm_400_bands_supported_enum;
+
+typedef struct mobile_station_classmark3_struct_s_14{
+   gsm_400_bands_supported_enum gsm_400_bands_supported_tag;
+   U8 gsm_400_associated_radio_capability;
+}mobile_station_classmark3_struct_s_14;
+
+typedef struct mobile_station_classmark3_struct_s_18{
+   U8 dtm_gprs_multi_slot_class;
+   U8 single_slot_dtm;
+   ispresent mobile_station_classmark3_struct_s_19_tag;
+   union mobile_station_classmark3_struct_s_19_value{
+      U8 dtm_egprs_multi_slot_class;
+   }mobile_station_classmark3_struct_s_19_value;
+}mobile_station_classmark3_struct_s_18;
+
+typedef struct mobile_station_classmark3_struct_s_23{
+   U8 extended_dtm_gprs_multi_slot_class;
+   U8 extended_dtm_egprs_multi_slot_class;
+}mobile_station_classmark3_struct_s_23;
+
+typedef enum {
+   MOBILE_STATION_CLASSMARK3_STRUCT_CONCAT_01,
+   MOBILE_STATION_CLASSMARK3_STRUCT_CONCAT_10,
+   MOBILE_STATION_CLASSMARK3_STRUCT_CONCAT_11
+}t_gsm_400_bands_supported_enum;
+
+typedef struct mobile_station_classmark3_struct_s_27{
+   t_gsm_400_bands_supported_enum t_gsm_400_bands_supported_tag;
+   U8 t_gsm_400_associated_radio_capability;
+}mobile_station_classmark3_struct_s_27;
+
+typedef struct mobile_station_classmark3_struct_s_29{
+   U8 dtm_gprs_high_multi_slot_class;
+   U8 offset_required;
+   ispresent mobile_station_classmark3_struct_s_30_tag;
+   union mobile_station_classmark3_struct_s_30_value{
+      U8 dtm_egprs_high_multi_slot_class;
+   }mobile_station_classmark3_struct_s_30_value;
+}mobile_station_classmark3_struct_s_29;
+
+/* SEQUENCE mobile_station_classmark3_struct */
+typedef struct mobile_station_classmark3_struct{
+   U8 mobile_station_classmark3_iei;
+   U8 length;
+   mobile_station_classmark3_struct_s_1_enum mobile_station_classmark3_struct_s_1_tag;
+   union mobile_station_classmark3_struct_s_1_value{
+      a5_bits_for_cm3 m_a5_bits_for_cm3;
+      mobile_station_classmark3_struct_s_2 m_mobile_station_classmark3_struct_s_2;
+      mobile_station_classmark3_struct_s_3 m_mobile_station_classmark3_struct_s_3;
+      mobile_station_classmark3_struct_s_4 m_mobile_station_classmark3_struct_s_4;
+      mobile_station_classmark3_struct_s_5 m_mobile_station_classmark3_struct_s_5;
+      mobile_station_classmark3_struct_s_6 m_mobile_station_classmark3_struct_s_6;
+   }mobile_station_classmark3_struct_s_1_value;
+   ispresent mobile_station_classmark3_struct_s_7_tag;
+   union mobile_station_classmark3_struct_s_7_value{
+      r_support m_r_support;
+   }mobile_station_classmark3_struct_s_7_value;
+   ispresent mobile_station_classmark3_struct_s_8_tag;
+   union mobile_station_classmark3_struct_s_8_value{
+      hscsd_multi_slot_capability m_hscsd_multi_slot_capability;
+   }mobile_station_classmark3_struct_s_8_value;
+   U8 ucs2_treatment;
+   U8 extended_measurement_capability;
+   ispresent mobile_station_classmark3_struct_s_9_tag;
+   union mobile_station_classmark3_struct_s_9_value{
+      ms_measurement_capability m_ms_measurement_capability;
+   }mobile_station_classmark3_struct_s_9_value;
+   ispresent mobile_station_classmark3_struct_s_10_tag;
+   union mobile_station_classmark3_struct_s_10_value{
+      ms_positioning_method_capability m_ms_positioning_method_capability;
+   }mobile_station_classmark3_struct_s_10_value;
+   ispresent mobile_station_classmark3_struct_s_11_tag;
+   union mobile_station_classmark3_struct_s_11_value{
+      ecsd_multi_slot_capability m_ecsd_multi_slot_capability;
+   }mobile_station_classmark3_struct_s_11_value;
+   ispresent mobile_station_classmark3_struct_s_12_tag;
+   union mobile_station_classmark3_struct_s_12_value{
+      p_8_psk_struct m_p_8_psk_struct;
+   }mobile_station_classmark3_struct_s_12_value;
+   ispresent mobile_station_classmark3_struct_s_13_tag;
+   union mobile_station_classmark3_struct_s_13_value{
+      mobile_station_classmark3_struct_s_14 m_mobile_station_classmark3_struct_s_14;
+   }mobile_station_classmark3_struct_s_13_value;
+   ispresent mobile_station_classmark3_struct_s_15_tag;
+   union mobile_station_classmark3_struct_s_15_value{
+      U8 gsm_850_associated_radio_capability;
+   }mobile_station_classmark3_struct_s_15_value;
+   ispresent mobile_station_classmark3_struct_s_16_tag;
+   union mobile_station_classmark3_struct_s_16_value{
+      U8 gsm_1900_associated_radio_capability;
+   }mobile_station_classmark3_struct_s_16_value;
+   U8 umts_fdd_radio_access_technology_capability;
+   U8 umts_3__84_mcps_tdd_radio_access_technology_capability;
+   U8 cdma_2000_radio_access_technology_capability;
+   ispresent mobile_station_classmark3_struct_s_17_tag;
+   union mobile_station_classmark3_struct_s_17_value{
+      mobile_station_classmark3_struct_s_18 m_mobile_station_classmark3_struct_s_18;
+   }mobile_station_classmark3_struct_s_17_value;
+   ispresent mobile_station_classmark3_struct_s_20_tag;
+   union mobile_station_classmark3_struct_s_20_value{
+      single_band_support m_single_band_support;
+   }mobile_station_classmark3_struct_s_20_value;
+   ispresent mobile_station_classmark3_struct_s_21_tag;
+   union mobile_station_classmark3_struct_s_21_value{
+      U8 gsm_750_associated_radio_capability;
+   }mobile_station_classmark3_struct_s_21_value;
+   U8 umts_1__28_mcps_tdd_radio_access_technology_capability;
+   U8 geran_feature_package_1;
+   ispresent mobile_station_classmark3_struct_s_22_tag;
+   union mobile_station_classmark3_struct_s_22_value{
+      mobile_station_classmark3_struct_s_23 m_mobile_station_classmark3_struct_s_23;
+   }mobile_station_classmark3_struct_s_22_value;
+   ispresent mobile_station_classmark3_struct_s_24_tag;
+   union mobile_station_classmark3_struct_s_24_value{
+      U8 high_multislot_capability;
+   }mobile_station_classmark3_struct_s_24_value;
+   ispresent mobile_station_classmark3_struct_s_25_tag;
+   union mobile_station_classmark3_struct_s_25_value{
+      geran_iu_mode_capabilities m_geran_iu_mode_capabilities;
+   }mobile_station_classmark3_struct_s_25_value;
+   U8 geran_feature_package_2;
+   U8 gmsk_multislot_power_profile;
+   U8 p_8_psk_multislot_power_profile;
+   ispresent mobile_station_classmark3_struct_s_26_tag;
+   union mobile_station_classmark3_struct_s_26_value{
+      mobile_station_classmark3_struct_s_27 m_mobile_station_classmark3_struct_s_27;
+   }mobile_station_classmark3_struct_s_26_value;
+   U8 downlink_advanced_receiver_performance;
+   U8 dtm_enhancements_capability;
+   ispresent mobile_station_classmark3_struct_s_28_tag;
+   union mobile_station_classmark3_struct_s_28_value{
+      mobile_station_classmark3_struct_s_29 m_mobile_station_classmark3_struct_s_29;
+   }mobile_station_classmark3_struct_s_28_value;
+   U8 repeated_acch_capability;
+   ispresent mobile_station_classmark3_struct_s_31_tag;
+   union mobile_station_classmark3_struct_s_31_value{
+      U8 gsm_710_associated_radio_capability;
+   }mobile_station_classmark3_struct_s_31_value;
+   ispresent mobile_station_classmark3_struct_s_32_tag;
+   union mobile_station_classmark3_struct_s_32_value{
+      U8 t_gsm_810_associated_radio_capability;
+   }mobile_station_classmark3_struct_s_32_value;
+   U8 ciphering_mode_setting_capability;
+   U8 additional_positioning_capabilities;
+   U8 eutra_fdd_support;
+   U8 eutra_tdd_support;
+   U8 eutra_meas_reporting_support;
+   U8 priority_based_reselection_support;
+   U8 utra_csg_cells_reporting;
+   U8 vamos_level;
+   /* R10 */
+   U8 tighter_capability;
+   U8 selective_ciphering_of_downlink_sacch;
+   /* R11 */
+   U8 cs_to_ps_srvcc_from_geran_to_utra;
+   U8 cs_to_ps_srvcc_from_geran_to_eutra;
+   U8 geran_netwrok_sharing_support;
+   U8 eutra_wideband_rsrq_measurement_support;
+
+   /* R12 */
+   U8 er_band_support;
+   U8 utra_multiple_freq_band_ind_support;
+   U8 eutra_multiple_freq_band_ind_support;
+   U8 extended_tsc_set_cap_support;
+   U8 extended_earfcn_value_range;
+
+}mobile_station_classmark3_struct;
+
+/* SEQUENCE paging_request_type3_struct */
+typedef struct paging_request_type3_struct{
+   U8 l2pseudo_length;
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   channels_needed_struct m_channels_needed_struct;
+   page_mode_struct m_page_mode_struct;
+   U8 tmsi_ptmsi1_struct[4];
+   U8 tmsi_ptmsi2_struct[4];
+   U8 tmsi_ptmsi3_struct[4];
+   U8 tmsi_ptmsi4_struct[4];
+   p3_rest_octets_struct m_p3_rest_octets_struct;
+}paging_request_type3_struct;
+
+/* SEQUENCE mobile_identity1_struct */
+typedef struct mobile_identity1_struct{
+   U8 length;
+   mobile_identity_for_paging_struct m_mobile_identity_struct;
+}mobile_identity1_struct;
+
+/* SEQUENCE mobile_identity2_struct */
+typedef struct mobile_identity2_struct{
+   U8 mobile_identity_iei;
+   U8 length;
+   mobile_identity_for_paging_struct m_mobile_identity_struct;
+}mobile_identity2_struct;
+
+/* SEQUENCE mobile_identity3_struct */
+typedef struct mobile_identity3_struct{
+   U8 mobile_identity_iei;
+   U8 length;
+   mobile_identity_for_paging_struct m_mobile_identity_struct;
+}mobile_identity3_struct;
+
+typedef struct mbms_session_list_ie_s_1{
+   tmgi_ie tmgi;
+   ispresent mbms_session_list_ie_s_2_tag;
+   union mbms_session_list_ie_s_2_value{
+      U8 mbms_session_identity;
+   }mbms_session_list_ie_s_2_value;
+}mbms_session_list_ie_s_1;
+
+/* SEQUENCE mbms session list ie */
+typedef struct mbms_session_list_ie{
+   U16 numElements_m_mbms_session_list_ie_s_1;
+   mbms_session_list_ie_s_1 * m_mbms_session_list_ie_s_1;
+}mbms_session_list_ie;
+
+/* SEQUENCE group call information */
+typedef struct group_call_information{
+   U16 numElements_group_call_reference;
+   U8 * group_call_reference;
+   ispresent group_call_information_s_1_tag;
+   union group_call_information_s_1_value{
+      group_channel_description_for_paging_req m_group_channel_description_for_paging_req;
+   }group_call_information_s_1_value;
+}group_call_information;
+
+typedef struct gprs_real_time_difference_description_struct_s_2{
+   ispresent gprs_real_time_difference_description_struct_s_3_tag;
+   union gprs_real_time_difference_description_struct_s_3_value{
+      U8 ba_index_start_rtd;
+   }gprs_real_time_difference_description_struct_s_3_value;
+   rtd6_si2q_struct rtd;
+   U16 numElements_rtd;
+   rtd6_si2q_struct * p_rtd;
+}gprs_real_time_difference_description_struct_s_2;
+
+typedef struct gprs_real_time_difference_description_struct_s_6{
+   ispresent gprs_real_time_difference_description_struct_s_7_tag;
+   union gprs_real_time_difference_description_struct_s_7_value{
+      U8 ba_index_start_rtd;
+   }gprs_real_time_difference_description_struct_s_7_value;
+   rtd12_si2q_struct rtd;
+   U16 numElements_rtd;
+   rtd12_si2q_struct * p_rtd;
+}gprs_real_time_difference_description_struct_s_6;
+
+/* SEQUENCE gprs_real time difference description struct */
+typedef struct gprs_real_time_difference_description_struct{
+   ispresent gprs_real_time_difference_description_struct_s_1_tag;
+   union gprs_real_time_difference_description_struct_s_1_value{
+      gprs_real_time_difference_description_struct_s_2 m_gprs_real_time_difference_description_struct_s_2;
+   }gprs_real_time_difference_description_struct_s_1_value;
+   ispresent gprs_real_time_difference_description_struct_s_5_tag;
+   union gprs_real_time_difference_description_struct_s_5_value{
+      gprs_real_time_difference_description_struct_s_6 m_gprs_real_time_difference_description_struct_s_6;
+   }gprs_real_time_difference_description_struct_s_5_value;
+}gprs_real_time_difference_description_struct;
+
+/* SEQUENCE si2q extension information */
+typedef struct si2q_extension_information{
+   ispresent si2q_extension_information_s_1_tag;
+   union si2q_extension_information_s_1_value{
+      ccn_support_description_struct ccn_support_description;
+   }si2q_extension_information_s_1_value;
+}si2q_extension_information;
+
+typedef struct p_3_g_priority_parameters_description_struct_s_2{
+   U8 default_utran_priority;
+   U8 default_thresh_utran;
+   U8 default_utran_qrxlevmin;
+}p_3_g_priority_parameters_description_struct_s_2;
+
+/* SEQUENCE 3 g priority parameters description struct */
+typedef struct p_3_g_priority_parameters_description_struct{
+   U8 utran_start;
+   U8 utran_stop;
+   ispresent p_3_g_priority_parameters_description_struct_s_1_tag;
+   union p_3_g_priority_parameters_description_struct_s_1_value{
+      p_3_g_priority_parameters_description_struct_s_2 m_p_3_g_priority_parameters_description_struct_s_2;
+   }p_3_g_priority_parameters_description_struct_s_1_value;
+   U16 numElements_repeated_utran_priority_parameters;
+   repeated_utran_priority_parameters_struct * repeated_utran_priority_parameters;
+}p_3_g_priority_parameters_description_struct;
+
+/* SEQUENCE repeated e-utran not allowed cells si2q struct */
+typedef struct repeated_e_utran_not_allowed_cells_si2q_struct{
+   pcid_group_ie not_allowed_cells;
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+}repeated_e_utran_not_allowed_cells_si2q_struct;
+
+/* SEQUENCE repeated e-utran pcid to ta mapping struct */
+typedef struct repeated_e_utran_pcid_to_ta_mapping_struct{
+   U16 numElements_pcid_to_ta_mapping;
+   pcid_group_ie * pcid_to_ta_mapping;
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+}repeated_e_utran_pcid_to_ta_mapping_struct;
+
+typedef struct p_3_g_csg_description_struct_s_1{
+   psc_group_ie csg_psc_split;
+   U16 numElements_utran_frequency_index;
+   U8 * utran_frequency_index;
+}p_3_g_csg_description_struct_s_1;
+
+typedef enum {
+   CSG_FDD_UARFCN,
+   CSG_TDD_UARFCN
+}p_3_g_csg_description_struct_s_4_enum;
+
+typedef struct p_3_g_csg_description_struct_s_3{
+   p_3_g_csg_description_struct_s_4_enum p_3_g_csg_description_struct_s_4_tag;
+   union p_3_g_csg_description_struct_s_4_value{
+      U16 csg_fdd_uarfcn;
+      U16 csg_tdd_uarfcn;
+   }p_3_g_csg_description_struct_s_4_value;
+}p_3_g_csg_description_struct_s_3;
+
+/* SEQUENCE 3 g csg description struct */
+typedef struct p_3_g_csg_description_struct{
+   U16 numElements_m_p_3_g_csg_description_struct_s_1;
+   p_3_g_csg_description_struct_s_1 * m_p_3_g_csg_description_struct_s_1;
+   U16 numElements_m_p_3_g_csg_description_struct_s_3;
+   p_3_g_csg_description_struct_s_3 * m_p_3_g_csg_description_struct_s_3;
+}p_3_g_csg_description_struct;
+
+typedef struct e_utran_csg_description_si2q_struct_s_1{
+   pcid_group_ie csg_pci_split;
+   U16 numElements_e_utran_frequency_index;
+   U8 * e_utran_frequency_index;
+}e_utran_csg_description_si2q_struct_s_1;
+
+/* SEQUENCE e-utran csg description si2q struct */
+typedef struct e_utran_csg_description_si2q_struct{
+   U16 numElements_m_e_utran_csg_description_si2q_struct_s_1;
+   e_utran_csg_description_si2q_struct_s_1 * m_e_utran_csg_description_si2q_struct_s_1;
+   U16 numElements_csg_earfcn;
+   U16 * csg_earfcn;
+}e_utran_csg_description_si2q_struct;
+
+/* SEQUENCE enhanced cell reselection parameters ie */
+typedef struct enhanced_cell_reselection_parameters_ie{
+   U16 numElements_repeated_e_utran_enhanced_cell_reselection_parameters;
+   repeated_e_utran_enhanced_cell_reselection_parameters_struct * repeated_e_utran_enhanced_cell_reselection_parameters;
+}enhanced_cell_reselection_parameters_ie;
+
+/* SEQUENCE csg cells reporting description struct */
+typedef struct csg_cells_reporting_description_struct{
+   ispresent csg_cells_reporting_description_struct_s_1_tag;
+   union csg_cells_reporting_description_struct_s_1_value{
+      utran_csg_cells_reporting_description_struct utran_csg_cells_reporting_description;
+   }csg_cells_reporting_description_struct_s_1_value;
+   ispresent csg_cells_reporting_description_struct_s_2_tag;
+   union csg_cells_reporting_description_struct_s_2_value{
+      e_utran_csg_cells_reporting_description_struct e_utran_csg_cells_reporting_description;
+   }csg_cells_reporting_description_struct_s_2_value;
+}csg_cells_reporting_description_struct;
+
+
+/* Rel11*/
+typedef struct repeated_earfcn_extended_si2q_struct{
+    U32 extended_earfcn;
+}repeated_earfcn_extended_si2q_struct;
+
+
+/* SEQUENCE extended earfcn description si2q struct */
+typedef struct extended_earfcn_description_si2q_struct{
+   U16 numElements_extended_earfcn;
+   repeated_earfcn_extended_si2q_struct * m_repeated_earfcn_extended;
+}extended_earfcn_description_si2q_struct;
+
+/* SEQUENCE extended earfcn csg description si2q struct */
+typedef struct extended_earfcn_description_csg_struct{
+   U16 numElements_csg_extended_earfcn;
+   U32 * csg_extended_earfcn;
+}extended_earfcn_description_csg_struct;
+
+
+/* SEQUENCE 3 g neighbour cell description mi struct */
+typedef struct p_3_g_neighbour_cell_description_mi_struct{
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_1_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_1_value{
+      U8 p_3_g_wait;
+   }p_3_g_neighbour_cell_description_mi_struct_s_1_value;
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_2_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_2_value{
+      U8 index_start_3g;
+   }p_3_g_neighbour_cell_description_mi_struct_s_2_value;
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_3_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_3_value{
+      U8 absolute_index_start_emr;
+   }p_3_g_neighbour_cell_description_mi_struct_s_3_value;
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_4_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_4_value{
+      utran_fdd_description_struct utran_fdd_description;
+   }p_3_g_neighbour_cell_description_mi_struct_s_4_value;
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_5_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_5_value{
+      utran_tdd_description_struct utran_tdd_description;
+   }p_3_g_neighbour_cell_description_mi_struct_s_5_value;
+   ispresent p_3_g_neighbour_cell_description_mi_struct_s_6_tag;
+   union p_3_g_neighbour_cell_description_mi_struct_s_6_value{
+      cdma_2000_description_struct cdma2000_description;
+   }p_3_g_neighbour_cell_description_mi_struct_s_6_value;
+}p_3_g_neighbour_cell_description_mi_struct;
+
+typedef struct real_time_difference_description_struct_s_2_mi{
+   ispresent real_time_difference_description_struct_s_3_tag;
+   union real_time_difference_description_struct_s_3_value_mi{
+      U8 ba_index_start_rtd;
+   }real_time_difference_description_struct_s_3_value_mi;
+   rtd6_mi_struct rtd_struct;
+   U16 numElements_rtd_struct;
+   rtd6_mi_struct * p_rtd_struct;
+}real_time_difference_description_struct_s_2_mi;
+
+typedef struct real_time_difference_description_struct_s_6_mi{
+   ispresent real_time_difference_description_struct_s_7_tag;
+   union real_time_difference_description_struct_s_7_value_mi{
+      U8 ba_index_start_rtd;
+   }real_time_difference_description_struct_s_7_value_mi;
+   rtd12_mi_struct rtd_struct;
+   U16 numElements_rtd_struct;
+   rtd12_mi_struct * p_rtd_struct;
+}real_time_difference_description_struct_s_6_mi;
+
+/* SEQUENCE 3 g measurement control parameters description struct */
+typedef struct p_3_g_measurement_control_parameters_description_mi_struct{
+   ispresent p_3_g_measurement_control_parameters_description_struct_s_1_tag;
+   union p_3_g_measurement_control_parameters_description_struct_s_1_value_mi{
+      U8 default_measurement_control_utran;
+   }p_3_g_measurement_control_parameters_description_struct_s_1_value_mi;
+   U16 numElements_repeated_utran_measurement_control_parameters;
+   repeated_utran_measurement_control_parameters_struct * repeated_utran_measurement_control_parameters;
+}p_3_g_measurement_control_parameters_description_mi_struct;
+
+/* SEQUENCE e-utran measurement control parameters description struct */
+typedef struct e_utran_measurement_control_parameters_description_struct{
+   ispresent e_utran_measurement_control_parameters_description_struct_s_1_tag;
+   union e_utran_measurement_control_parameters_description_struct_s_1_value{
+      U8 default_measurement_control_e_utran;
+   }e_utran_measurement_control_parameters_description_struct_s_1_value;
+   U16 numElements_repeated_e_utran_measurement_control_parameters;
+   repeated_e_utran_measurement_control_parameters_struct * repeated_e_utran_measurement_control_parameters;
+}e_utran_measurement_control_parameters_description_struct;
+
+/* SEQUENCE rr_peer_classmark_change_struct */
+typedef struct rr_peer_classmark_change_struct{
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   mobile_station_classmark2_struct m_mobile_station_classmark2_struct;
+   Bool is_m_mobile_station_classmark3_struct_present; //truncation or optional 
+   mobile_station_classmark3_struct m_mobile_station_classmark3_struct;
+}rr_peer_classmark_change_struct;
+
+/* SEQUENCE 3 g neighbour cell description si2q struct */
+typedef struct p_3_g_neighbour_cell_description_si2q_struct{
+   ispresent p_3_g_neighbour_cell_description_si2q_struct_s_1_tag;
+   union p_3_g_neighbour_cell_description_si2q_struct_s_1_value{
+      U8 index_start_3g;
+   }p_3_g_neighbour_cell_description_si2q_struct_s_1_value;
+   ispresent p_3_g_neighbour_cell_description_si2q_struct_s_2_tag;
+   union p_3_g_neighbour_cell_description_si2q_struct_s_2_value{
+      U8 absolute_index_start_emr;
+   }p_3_g_neighbour_cell_description_si2q_struct_s_2_value;
+   ispresent p_3_g_neighbour_cell_description_si2q_struct_s_3_tag;
+   union p_3_g_neighbour_cell_description_si2q_struct_s_3_value{
+      utran_fdd_description_struct utran_fdd_description;
+   }p_3_g_neighbour_cell_description_si2q_struct_s_3_value;
+   ispresent p_3_g_neighbour_cell_description_si2q_struct_s_4_tag;
+   union p_3_g_neighbour_cell_description_si2q_struct_s_4_value{
+      utran_tdd_description_struct utran_tdd_description;
+   }p_3_g_neighbour_cell_description_si2q_struct_s_4_value;
+}p_3_g_neighbour_cell_description_si2q_struct;
+
+/* SEQUENCE e-utran parameters description si2q struct */
+typedef struct e_utran_parameters_description_si2q_struct{
+   U8 e_utran_ccn_active;
+   U8 e_utran_start;
+   U8 e_utran_stop;
+   ispresent e_utran_parameters_description_si2q_struct_s_1_tag;
+   union e_utran_parameters_description_si2q_struct_s_1_value{
+      e_utran_measurement_parameters_description_struct e_utran_measurement_parameters_description;
+   }e_utran_parameters_description_si2q_struct_s_1_value;
+   ispresent e_utran_parameters_description_si2q_struct_s_2_tag;
+   union e_utran_parameters_description_si2q_struct_s_2_value{
+      gprs_e_utran_measurement_parameters_description_struct gprs_e_utran_measurement_parameters_description;
+   }e_utran_parameters_description_si2q_struct_s_2_value;
+   U16 numElements_repeated_e_utran_neighbour_cells;
+   repeated_e_utran_neighbour_cells_si2q_struct * repeated_e_utran_neighbour_cells;
+   U16 numElements_repeated_e_utran_not_allowed_cells;
+   repeated_e_utran_not_allowed_cells_si2q_struct * repeated_e_utran_not_allowed_cells;
+   U16 numElements_repeated_e_utran_pcid_to_ta_mapping;
+   repeated_e_utran_pcid_to_ta_mapping_struct * repeated_e_utran_pcid_to_ta_mapping;
+}e_utran_parameters_description_si2q_struct;
+
+/* SEQUENCE 3 g supplementary parameters description struct */
+typedef struct p_3_g_supplementary_parameters_description_struct{
+   U8 utran_start;
+   U8 utran_stop;
+   ispresent p_3_g_supplementary_parameters_description_struct_s_1_tag;
+   union p_3_g_supplementary_parameters_description_struct_s_1_value{
+      p_3_g_measurement_control_parameters_description_struct p_3_g_measurement_control_parameters_description;
+   }p_3_g_supplementary_parameters_description_struct_s_1_value;
+}p_3_g_supplementary_parameters_description_struct;
+
+/* SEQUENCE e-utran parameters description mi struct */
+typedef struct e_utran_parameters_description_mi_struct{
+   U8 e_utran_start;
+   U8 e_utran_stop;
+   ispresent e_utran_parameters_description_mi_struct_s_1_tag;
+   union e_utran_parameters_description_mi_struct_s_1_value{
+      e_utran_measurement_parameters_description_struct e_utran_measurement_parameters_description;
+   }e_utran_parameters_description_mi_struct_s_1_value;
+   U16 numElements_repeated_e_utran_neighbour_cells;
+   repeated_e_utran_neighbour_cells_mi_struct * repeated_e_utran_neighbour_cells;
+   U16 numElements_repeated_e_utran_not_allowed_cells;
+   repeated_e_utran_not_allowed_cells_mi_struct * repeated_e_utran_not_allowed_cells;
+   ispresent e_utran_parameters_description_mi_struct_s_4_tag;
+   union e_utran_parameters_description_mi_struct_s_4_value{
+      e_utran_measurement_control_parameters_description_struct e_utran_measurement_control_parameters_description;
+   }e_utran_parameters_description_mi_struct_s_4_value;
+}e_utran_parameters_description_mi_struct;
+
+/* SEQUENCE mbms p-t-m channel description ie */
+typedef struct mbms_p_t_m_channel_description_ie{
+   ispresent mbms_p_t_m_channel_description_ie_s_1_tag;
+   union mbms_p_t_m_channel_description_ie_s_1_value{
+      frequency_parameters_ie frequency_parameters;
+   }mbms_p_t_m_channel_description_ie_s_1_value;
+   U8 dl_timeslot_allocation;
+}mbms_p_t_m_channel_description_ie;
+
+/* SEQUENCE mprach description ie */
+typedef struct mprach_description_ie{
+   ispresent mprach_description_ie_s_1_tag;
+   union mprach_description_ie_s_1_value{
+      frequency_parameters_ie frequency_parameters;
+   }mprach_description_ie_s_1_value;
+   U8 mprach_timeslot_number;
+   U8 usf;
+   ispresent mprach_description_ie_s_2_tag;
+   union mprach_description_ie_s_2_value{
+      mprach_control_parameters_ie mprach_control_parameters;
+   }mprach_description_ie_s_2_value;
+}mprach_description_ie;
+
+/* SEQUENCE priority n e-utran parameters description struct */
+typedef struct priority_n_e_utran_parameters_description_struct{
+   ispresent priority_n_e_utran_parameters_description_struct_s_1_tag;
+   union priority_n_e_utran_parameters_description_struct_s_1_value{
+      serving_cell_priority_parameters_description_struct serving_cell_priority_parameters_description;
+   }priority_n_e_utran_parameters_description_struct_s_1_value;
+   ispresent priority_n_e_utran_parameters_description_struct_s_2_tag;
+   union priority_n_e_utran_parameters_description_struct_s_2_value{
+      p_3_g_priority_parameters_description_struct p_3_g_priority_parameters_description;
+   }priority_n_e_utran_parameters_description_struct_s_2_value;
+   ispresent priority_n_e_utran_parameters_description_struct_s_3_tag;
+   union priority_n_e_utran_parameters_description_struct_s_3_value{
+      e_utran_parameters_description_si2q_struct e_utran_parameters_description;
+   }priority_n_e_utran_parameters_description_struct_s_3_value;
+}priority_n_e_utran_parameters_description_struct;
+
+typedef struct measurement_information_s_6{
+   U8 extension_length;
+}measurement_information_s_6;
+
+typedef enum {
+   MEASUREMENT_INFORMATION_S_9_NULL,
+   MEASUREMENT_INFORMATION_LHSTRING_L, // L
+   MEASUREMENT_INFORMATION_S_10 // H
+}measurement_information_s_9_enum;
+
+typedef enum {
+   MEASUREMENT_INFORMATION_S_12_NULL,
+   MEASUREMENT_INFORMATION_LHSTRING_L1, // L
+   MEASUREMENT_INFORMATION_S_13 // H
+}measurement_information_s_12_enum;
+
+typedef struct measurement_information_s_15{
+   U8 p_700__reporting_offset;
+   U8 p_700__reporting_threshold;
+}measurement_information_s_15;
+
+typedef struct measurement_information_s_17{
+   U8 p_810__reporting_offset;
+   U8 p_810__reporting_threshold;
+}measurement_information_s_17;
+
+typedef enum {
+   MEASUREMENT_INFORMATION_S_18_NULL,
+   MEASUREMENT_INFORMATION_LHSTRING_L2, // L
+   MEASUREMENT_INFORMATION_S_19 // H
+}measurement_information_s_18_enum;
+
+typedef struct measurement_information_s_19{
+   ispresent measurement_information_s_20_tag;
+   union measurement_information_s_20_value{
+      p_3_g_supplementary_parameters_description_struct p_3_g_supplementary_parameters_description;
+   }measurement_information_s_20_value;
+   ispresent measurement_information_s_21_tag;
+   union measurement_information_s_21_value{
+      e_utran_parameters_description_mi_struct e_utran_parameters_description;
+   }measurement_information_s_21_value;
+   ispresent measurement_information_s_22_tag;
+   union measurement_information_s_22_value{
+      e_utran_csg_description_mi_struct e_utran_csg_description;
+   }measurement_information_s_22_value;
+}measurement_information_s_19;
+
+typedef struct measurement_information_s_13{
+   ispresent measurement_information_s_14_tag;
+   union measurement_information_s_14_value{
+      measurement_information_s_15 m_measurement_information_s_15;
+   }measurement_information_s_14_value;
+   ispresent measurement_information_s_16_tag;
+   union measurement_information_s_16_value{
+      measurement_information_s_17 m_measurement_information_s_17;
+   }measurement_information_s_16_value;
+   measurement_information_s_18_enum measurement_information_s_18_tag;
+   union measurement_information_s_18_value{
+      measurement_information_s_19 m_measurement_information_s_19;
+   }measurement_information_s_18_value;
+}measurement_information_s_13;
+
+typedef struct measurement_information_s_10{
+   ispresent measurement_information_s_11_tag;
+   union measurement_information_s_11_value{
+      p_3_g_additional_measurement_parameters_description_2_struct p_3_g_additional_measurement_parameters_description_2;
+   }measurement_information_s_11_value;
+   measurement_information_s_12_enum measurement_information_s_12_tag;
+   union measurement_information_s_12_value{
+      measurement_information_s_13 m_measurement_information_s_13;
+   }measurement_information_s_12_value;
+}measurement_information_s_10;
+
+/* SEQUENCE measurement information */
+typedef struct measurement_information_struct{
+   U8 rr_short_pd;
+   U8 message_type;
+   U8 short_layer_2_header;
+   U8 ba_ind;
+   U8 p_3_g_ba_ind;
+   U8 mp_change_mark;
+   U8 mi_index;
+   U8 mi_count;
+   U8 pwrc;
+   U8 report_type;
+   U8 reporting_rate;
+   U8 invalid_bsic_reporting;
+   ispresent measurement_information_s_1_tag;
+   union measurement_information_s_1_value{
+      real_time_difference_description_struct real_time_difference_description;
+   }measurement_information_s_1_value;
+   ispresent measurement_information_s_2_tag;
+   union measurement_information_s_2_value{
+      bsic_description_struct bsic_description;
+   }measurement_information_s_2_value;
+   ispresent measurement_information_s_3_tag;
+   union measurement_information_s_3_value{
+      report_priority_description_struct report_priority_description;
+   }measurement_information_s_3_value;
+   ispresent measurement_information_s_4_tag;
+   union measurement_information_s_4_value{
+      measurement_parameters_description_mi_struct measurement_parameters_description;
+   }measurement_information_s_4_value;
+   ispresent measurement_information_s_5_tag;
+   union measurement_information_s_5_value{
+      measurement_information_s_6 m_measurement_information_s_6;
+   }measurement_information_s_5_value;
+   ispresent measurement_information_s_7_tag;
+   union measurement_information_s_7_value{
+      p_3_g_neighbour_cell_description_mi_struct p_3_g_neighbour_cell_description;
+   }measurement_information_s_7_value;
+   ispresent measurement_information_s_8_tag;
+   union measurement_information_s_8_value{
+      p_3_g_measurement_parameters_description_mi_struct p_3_g_measurement_parameters_description;
+   }measurement_information_s_8_value;
+   measurement_information_s_9_enum measurement_information_s_9_tag;
+   union measurement_information_s_9_value{
+      measurement_information_s_10 m_measurement_information_s_10;
+   }measurement_information_s_9_value;
+}measurement_information_struct;
+
+typedef enum {
+   MBMS_CHANNEL_PARAMETERS_IE_S_1,
+   MBMS_CHANNEL_PARAMETERS_IE_S_3
+}mbms_channel_parameters_ie_s_0_enum;
+
+typedef struct mbms_channel_parameters_ie_s_2{
+   mbms_p_t_m_channel_description_ie mbms_p_t_m_channel_description;
+   mbms_session_parameters_list_ie mbms_session_parameters_list;
+}mbms_channel_parameters_ie_s_2;
+
+typedef struct mbms_channel_parameters_ie_s_1{
+   ispresent mbms_channel_parameters_ie_s_1_tag;
+   union mbms_channel_parameters_ie_s_1_value{
+      mbms_channel_parameters_ie_s_2 m_mbms_channel_parameters_ie_s_2;
+   }mbms_channel_parameters_ie_s_1_value;
+}mbms_channel_parameters_ie_s_1;
+
+typedef struct mbms_channel_parameters_ie_s_3{
+   ispresent mbms_channel_parameters_ie_s_3_tag;
+   union mbms_channel_parameters_ie_s_3_value{
+      mprach_description_ie mprach_description;
+   }mbms_channel_parameters_ie_s_3_value;
+}mbms_channel_parameters_ie_s_3;
+
+/* SEQUENCE mbms channel parameters ie */
+typedef struct mbms_channel_parameters_ie{
+   mbms_channel_parameters_ie_s_0_enum mbms_channel_parameters_ie_s_0_tag;
+   union mbms_channel_parameters_ie_s_0_value{
+      mbms_channel_parameters_ie_s_1 m_mbms_channel_parameters_ie_s_1;
+      mbms_channel_parameters_ie_s_3 m_mbms_channel_parameters_ie_s_3;
+   }mbms_channel_parameters_ie_s_0_value;
+}mbms_channel_parameters_ie;
+
+typedef struct si2quater_rest_octets_struct_s_8{
+   U8 extension_length;
+   si2q_extension_information m_si2q_extension_information;
+}si2quater_rest_octets_struct_s_8;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_13_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_14 // H
+}si2quater_rest_octets_struct_s_13_enum;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_17_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L1, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_18 // H
+}si2quater_rest_octets_struct_s_17_enum;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_19_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L2, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_20 // H
+}si2quater_rest_octets_struct_s_19_enum;
+
+typedef struct si2quater_rest_octets_struct_s_22{
+   U8 p_700__reporting_offset;
+   U8 p_700__reporting_threshold;
+}si2quater_rest_octets_struct_s_22;
+
+typedef struct si2quater_rest_octets_struct_s_24{
+   U8 p_810__reporting_offset;
+   U8 p_810__reporting_threshold;
+}si2quater_rest_octets_struct_s_24;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_25_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L3, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_26 // H
+}si2quater_rest_octets_struct_s_25_enum;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_30_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L4, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_31 // H
+}si2quater_rest_octets_struct_s_30_enum;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_34_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L5, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_35 // H
+}si2quater_rest_octets_struct_s_34_enum;
+
+typedef enum {
+   SI2QUATER_REST_OCTETS_STRUCT_S_37_NULL,
+   SI2QUATER_REST_OCTETS_STRUCT_LHSTRING_L6, // L
+   SI2QUATER_REST_OCTETS_STRUCT_S_38 // H
+}si2quater_rest_octets_struct_s_37_enum;
+
+typedef struct si2quater_rest_octets_struct_s_38{
+    ispresent si2quater_rest_octets_struct_s_39_tag;
+    union si2quater_rest_octets_struct_s_39_value{
+       extended_earfcn_description_si2q_struct extended_earfcn_description;
+    }si2quater_rest_octets_struct_s_39_value;
+    ispresent si2quater_rest_octets_struct_s_40_tag;
+    union si2quater_rest_octets_struct_s_40_value{
+       extended_earfcn_description_csg_struct extended_earfcn_csg_description;
+    }si2quater_rest_octets_struct_s_40_value;
+}si2quater_rest_octets_struct_s_38;
+
+typedef struct si2quater_rest_octets_struct_s_35{
+   ispresent si2quater_rest_octets_struct_s_36_tag;
+   union si2quater_rest_octets_struct_s_36_value{
+      U8 init_pwr_red;
+   }si2quater_rest_octets_struct_s_36_value;
+   U8 nc2_csg_pccn_permitted;
+   /*Rel 11*/
+   si2quater_rest_octets_struct_s_37_enum si2quater_rest_octets_struct_s_37_tag;
+   union si2quater_rest_octets_struct_s_37_value{
+      si2quater_rest_octets_struct_s_38 m_si2quater_rest_octets_struct_s_38;
+   }si2quater_rest_octets_struct_s_37_value;
+}si2quater_rest_octets_struct_s_35;
+
+typedef struct si2quater_rest_octets_struct_s_31{
+   ispresent si2quater_rest_octets_struct_s_32_tag;
+   union si2quater_rest_octets_struct_s_32_value{
+      enhanced_cell_reselection_parameters_ie enhanced_cell_reselection_parameters_description;
+   }si2quater_rest_octets_struct_s_32_value;
+   ispresent si2quater_rest_octets_struct_s_33_tag;
+   union si2quater_rest_octets_struct_s_33_value{
+      csg_cells_reporting_description_struct csg_cells_reporting_description;
+   }si2quater_rest_octets_struct_s_33_value;
+   si2quater_rest_octets_struct_s_34_enum si2quater_rest_octets_struct_s_34_tag;
+   union si2quater_rest_octets_struct_s_34_value{
+      si2quater_rest_octets_struct_s_35 m_si2quater_rest_octets_struct_s_35;
+   }si2quater_rest_octets_struct_s_34_value;
+}si2quater_rest_octets_struct_s_31;
+
+typedef struct si2quater_rest_octets_struct_s_26{
+   ispresent si2quater_rest_octets_struct_s_27_tag;
+   union si2quater_rest_octets_struct_s_27_value{
+      priority_n_e_utran_parameters_description_struct priority_n_e_utran_parameters_description;
+   }si2quater_rest_octets_struct_s_27_value;
+   ispresent si2quater_rest_octets_struct_s_28_tag;
+   union si2quater_rest_octets_struct_s_28_value{
+      p_3_g_csg_description_struct p_3_g_csg_description;
+   }si2quater_rest_octets_struct_s_28_value;
+   ispresent si2quater_rest_octets_struct_s_29_tag;
+   union si2quater_rest_octets_struct_s_29_value{
+      e_utran_csg_description_si2q_struct e_utran_csg_description;
+   }si2quater_rest_octets_struct_s_29_value;
+   si2quater_rest_octets_struct_s_30_enum si2quater_rest_octets_struct_s_30_tag;
+   union si2quater_rest_octets_struct_s_30_value{
+      si2quater_rest_octets_struct_s_31 m_si2quater_rest_octets_struct_s_31;
+   }si2quater_rest_octets_struct_s_30_value;
+}si2quater_rest_octets_struct_s_26;
+
+typedef struct si2quater_rest_octets_struct_s_20{
+   ispresent si2quater_rest_octets_struct_s_21_tag;
+   union si2quater_rest_octets_struct_s_21_value{
+      si2quater_rest_octets_struct_s_22 m_si2quater_rest_octets_struct_s_22;
+   }si2quater_rest_octets_struct_s_21_value;
+   ispresent si2quater_rest_octets_struct_s_23_tag;
+   union si2quater_rest_octets_struct_s_23_value{
+      si2quater_rest_octets_struct_s_24 m_si2quater_rest_octets_struct_s_24;
+   }si2quater_rest_octets_struct_s_23_value;
+   si2quater_rest_octets_struct_s_25_enum si2quater_rest_octets_struct_s_25_tag;
+   union si2quater_rest_octets_struct_s_25_value{
+      si2quater_rest_octets_struct_s_26 m_si2quater_rest_octets_struct_s_26;
+   }si2quater_rest_octets_struct_s_25_value;
+}si2quater_rest_octets_struct_s_20;
+
+typedef struct si2quater_rest_octets_struct_s_18{
+   U8 p_3_g_ccn_active;
+   si2quater_rest_octets_struct_s_19_enum si2quater_rest_octets_struct_s_19_tag;
+   union si2quater_rest_octets_struct_s_19_value{
+      si2quater_rest_octets_struct_s_20 m_si2quater_rest_octets_struct_s_20;
+   }si2quater_rest_octets_struct_s_19_value;
+}si2quater_rest_octets_struct_s_18;
+
+typedef struct si2quater_rest_octets_struct_s_14{
+   ispresent si2quater_rest_octets_struct_s_15_tag;
+   union si2quater_rest_octets_struct_s_15_value{
+      p_3_g_additional_measurement_parameters_description_struct p_3_g_additional_measurement_parameters_description;
+   }si2quater_rest_octets_struct_s_15_value;
+   ispresent si2quater_rest_octets_struct_s_16_tag;
+   union si2quater_rest_octets_struct_s_16_value{
+      p_3_g_additional_measurement_parameters_description_2_struct p_3_g_additional_measurement_parameters_description_2;
+   }si2quater_rest_octets_struct_s_16_value;
+   si2quater_rest_octets_struct_s_17_enum si2quater_rest_octets_struct_s_17_tag;
+   union si2quater_rest_octets_struct_s_17_value{
+      si2quater_rest_octets_struct_s_18 m_si2quater_rest_octets_struct_s_18;
+   }si2quater_rest_octets_struct_s_17_value;
+}si2quater_rest_octets_struct_s_14;
+
+/* SEQUENCE si2quater rest octets struct */
+typedef struct si2quater_rest_octets_struct{
+   U8 ba_ind;
+   U8 p_3_g_ba_ind;
+   U8 mp_change_mark;
+   U8 si2quater_index;
+   U8 si2quater_count;
+   ispresent si2quater_rest_octets_struct_s_1_tag;
+   union si2quater_rest_octets_struct_s_1_value{
+      measurement_parameters_description_si2q_struct measurement_parameters_description;
+   }si2quater_rest_octets_struct_s_1_value;
+   ispresent si2quater_rest_octets_struct_s_2_tag;
+   union si2quater_rest_octets_struct_s_2_value{
+      gprs_real_time_difference_description_struct gprs_real_time_difference_description;
+   }si2quater_rest_octets_struct_s_2_value;
+   ispresent si2quater_rest_octets_struct_s_3_tag;
+   union si2quater_rest_octets_struct_s_3_value{
+      gprs_bsic_description_struct gprs_bsic_description;
+   }si2quater_rest_octets_struct_s_3_value;
+   ispresent si2quater_rest_octets_struct_s_4_tag;
+   union si2quater_rest_octets_struct_s_4_value{
+      gprs_report_priority_description_struct gprs_report_priority_description;
+   }si2quater_rest_octets_struct_s_4_value;
+   ispresent si2quater_rest_octets_struct_s_5_tag;
+   union si2quater_rest_octets_struct_s_5_value{
+      gprs_measurement_parameters_description_struct gprs_measurement_parameters_description;
+   }si2quater_rest_octets_struct_s_5_value;
+   ispresent si2quater_rest_octets_struct_s_6_tag;
+   union si2quater_rest_octets_struct_s_6_value{
+      nc_measurement_parameters_si2q_struct nc_measurement_parameters;
+   }si2quater_rest_octets_struct_s_6_value;
+   ispresent si2quater_rest_octets_struct_s_7_tag;
+   union si2quater_rest_octets_struct_s_7_value{
+      si2quater_rest_octets_struct_s_8 m_si2quater_rest_octets_struct_s_8;
+   }si2quater_rest_octets_struct_s_7_value;
+   ispresent si2quater_rest_octets_struct_s_10_tag;
+   union si2quater_rest_octets_struct_s_10_value{
+      p_3_g_neighbour_cell_description_si2q_struct p_3_g_neighbour_cell_description;
+   }si2quater_rest_octets_struct_s_10_value;
+   ispresent si2quater_rest_octets_struct_s_11_tag;
+   union si2quater_rest_octets_struct_s_11_value{
+      p_3_g_measurement_parameters_description_si2q_struct p_3_g_measurement_parameters_description;
+   }si2quater_rest_octets_struct_s_11_value;
+   ispresent si2quater_rest_octets_struct_s_12_tag;
+   union si2quater_rest_octets_struct_s_12_value{
+      gprs_3g_measurement_parameters_description_struct gprs_3g_measurement_parameters_description;
+   }si2quater_rest_octets_struct_s_12_value;
+   si2quater_rest_octets_struct_s_13_enum si2quater_rest_octets_struct_s_13_tag;
+   union si2quater_rest_octets_struct_s_13_value{
+      si2quater_rest_octets_struct_s_14 m_si2quater_rest_octets_struct_s_14;
+   }si2quater_rest_octets_struct_s_13_value;
+}si2quater_rest_octets_struct;
+
+typedef enum {
+   CONCAT_0_mbms,
+   CONCAT_1_mbms
+}mbms_information_s_3_enum;
+
+typedef struct mbms_information_s_2{
+   mbms_information_s_3_enum mbms_information_s_3_tag;
+   mbms_session_list_ie mbms_sessions_list;
+}mbms_information_s_2;
+
+typedef struct mbms_information_s_4{
+   mbms_channel_parameters_ie mbms_channel_parameters;
+   mbms_session_list_ie mbms_sessions_list;
+}mbms_information_s_4;
+
+/* SEQUENCE mbms information */
+typedef struct mbms_information{
+   mbms_session_list_ie mbms_sessions_list;
+   ispresent mbms_information_s_1_tag;
+   union mbms_information_s_1_value{
+      mbms_information_s_2 m_mbms_information_s_2;
+   }mbms_information_s_1_value;
+   U16 numElements_m_mbms_information_s_4;
+   mbms_information_s_4 * m_mbms_information_s_4;
+}mbms_information;
+
+typedef struct p2_rest_octets_struct_s_3{
+   U8 nln;
+   U8 nln_status;
+}p2_rest_octets_struct_s_3;
+
+typedef enum {
+   P2_REST_OCTETS_STRUCT_S_7_NULL,
+   P2_REST_OCTETS_STRUCT_LHSTRING_L, // L
+   P2_REST_OCTETS_STRUCT_S_8 // H
+}p2_rest_octets_struct_s_7_enum;
+
+typedef struct p2_rest_octets_struct_s_9{
+   ispresent p2_rest_octets_struct_s_10_tag;
+   union p2_rest_octets_struct_s_10_value{
+      mbms_channel_parameters_ie mbms_notification_3;
+   }p2_rest_octets_struct_s_10_value;
+   ispresent p2_rest_octets_struct_s_11_tag;
+   union p2_rest_octets_struct_s_11_value{
+      mbms_information m_mbms_information;
+   }p2_rest_octets_struct_s_11_value;
+}p2_rest_octets_struct_s_9;
+
+typedef struct p2_rest_octets_struct_s_8{
+   ispresent p2_rest_octets_struct_s_8_tag;
+   union p2_rest_octets_struct_s_8_value{
+      p2_rest_octets_struct_s_9 m_p2_rest_octets_struct_s_9;
+   }p2_rest_octets_struct_s_8_value;
+}p2_rest_octets_struct_s_8;
+
+typedef enum {
+   P2_REST_OCTETS_STRUCT_S_12_NULL,
+   P2_REST_OCTETS_STRUCT_LHSTRING_L1, // L
+   P2_REST_OCTETS_STRUCT_S_13 // H
+}p2_rest_octets_struct_s_12_enum;
+
+typedef struct p2_rest_octets_struct_s_13{
+   U8 implicit_reject_cs;
+   U8 implicit_reject_ps;
+}p2_rest_octets_struct_s_13;
+
+/* SEQUENCE p2_rest_octets_struct */
+typedef struct p2_rest_octets_struct{
+   isLHpresent p2_rest_octets_struct_s_1_tag;
+   union p2_rest_octets_struct_s_1_value{
+      U8 cn3;
+   }p2_rest_octets_struct_s_1_value;
+   isLHpresent p2_rest_octets_struct_s_2_tag;
+   union p2_rest_octets_struct_s_2_value{
+      p2_rest_octets_struct_s_3 m_p2_rest_octets_struct_s_3;
+   }p2_rest_octets_struct_s_2_value;
+   isLHpresent p2_rest_octets_struct_s_4_tag;
+   union p2_rest_octets_struct_s_4_value{
+      U8 priority1;
+   }p2_rest_octets_struct_s_4_value;
+   isLHpresent p2_rest_octets_struct_s_5_tag;
+   union p2_rest_octets_struct_s_5_value{
+      U8 priority2;
+   }p2_rest_octets_struct_s_5_value;
+   isLHpresent p2_rest_octets_struct_s_6_tag;
+   union p2_rest_octets_struct_s_6_value{
+      U8 priority3;
+   }p2_rest_octets_struct_s_6_value;
+   isLHpresent packet_page_indication_3_tag;
+   p2_rest_octets_struct_s_7_enum p2_rest_octets_struct_s_7_tag;
+   union p2_rest_octets_struct_s_7_value{
+      p2_rest_octets_struct_s_8 m_p2_rest_octets_struct_s_8;
+   }p2_rest_octets_struct_s_7_value;
+   p2_rest_octets_struct_s_12_enum p2_rest_octets_struct_s_12_tag;
+   union p2_rest_octets_struct_s_12_value{
+      p2_rest_octets_struct_s_13 m_p2_rest_octets_struct_s_13;
+   }p2_rest_octets_struct_s_12_value;
+}p2_rest_octets_struct;
+
+/* SEQUENCE si_2quater_struct */
+typedef struct si_2quater_struct{
+   U8 l2pseudo_length;
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   si2quater_rest_octets_struct m_si2quater_rest_octets_struct;
+}si_2quater_struct;
+
+
+/* SEQUENCE paging_request_type2_struct */
+typedef struct paging_request_type2_struct{
+   U8 l2pseudo_length;
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   channels_needed_struct m_channels_needed_struct;
+   page_mode_struct m_page_mode_struct;
+   U8 tmsi_ptmsi1_struct[4];
+   U8 tmsi_ptmsi2_struct[4];
+   Bool is_m_mobile_identity3_struct_present; //truncation or optional 
+   mobile_identity3_struct m_mobile_identity3_struct;
+   p2_rest_octets_struct m_p2_rest_octets_struct;
+}paging_request_type2_struct;
+
+typedef struct p1_rest_octets_struct_s_2{
+   U8 nln;
+   U8 nln_status;
+}p1_rest_octets_struct_s_2;
+
+typedef enum {
+   P1_REST_OCTETS_STRUCT_S_6_NULL,
+   P1_REST_OCTETS_STRUCT_LHSTRING_L, // L
+   P1_REST_OCTETS_STRUCT_S_7 // H
+}p1_rest_octets_struct_s_6_enum;
+
+typedef enum {
+   CELL_GLOBAL_COUNT,
+   P1_REST_OCTETS_STRUCT_S_10,
+   P1_REST_OCTETS_STRUCT_S_11,
+   P1_REST_OCTETS_STRUCT_S_12
+}p1_rest_octets_struct_s_9_enum;
+
+typedef struct p1_rest_octets_struct_s_10{
+   U8 cell_global_count;
+   U16 numElements_vstk_rand;
+   U8 * vstk_rand;
+}p1_rest_octets_struct_s_10;
+
+typedef struct p1_rest_octets_struct_s_11{
+   U32 reduced_gcr;
+   U16 numElements_vstk_rand;
+   U8 * vstk_rand;
+}p1_rest_octets_struct_s_11;
+
+typedef struct p1_rest_octets_struct_s_12{
+   U8 cell_global_count;
+   U32 reduced_gcr;
+   U16 numElements_vstk_rand;
+   U8 * vstk_rand;
+}p1_rest_octets_struct_s_12;
+
+typedef struct p1_rest_octets_struct_s_9{
+   p1_rest_octets_struct_s_9_enum p1_rest_octets_struct_s_9_tag;
+   union p1_rest_octets_struct_s_9_value{
+      U8 cell_global_count;
+      p1_rest_octets_struct_s_10 m_p1_rest_octets_struct_s_10;
+      p1_rest_octets_struct_s_11 m_p1_rest_octets_struct_s_11;
+      p1_rest_octets_struct_s_12 m_p1_rest_octets_struct_s_12;
+   }p1_rest_octets_struct_s_9_value;
+}p1_rest_octets_struct_s_9;
+
+typedef struct mbms_notification_2{
+   ispresent mbms_notification_2_tag;
+   union mbms_notification_2_value{
+      mbms_channel_parameters_ie m_mbms_channel_parameters_ie;
+   }mbms_notification_2_value;
+}mbms_notification_2;
+
+typedef struct p1_rest_octets_struct_s_14{
+   ispresent p1_rest_octets_struct_s_15_tag;
+   union p1_rest_octets_struct_s_15_value{
+      mbms_channel_parameters_ie mbms_notification_1;
+   }p1_rest_octets_struct_s_15_value;
+   ispresent p1_rest_octets_struct_s_16_tag;
+   union p1_rest_octets_struct_s_16_value{
+      mbms_notification_2 m_mbms_notification_2;
+   }p1_rest_octets_struct_s_16_value;
+   ispresent p1_rest_octets_struct_s_17_tag;
+   union p1_rest_octets_struct_s_17_value{
+      mbms_information m_mbms_information;
+   }p1_rest_octets_struct_s_17_value;
+}p1_rest_octets_struct_s_14;
+
+typedef struct p1_rest_octets_struct_s_7{
+   ispresent p1_rest_octets_struct_s_8_tag;
+   union p1_rest_octets_struct_s_8_value{
+      p1_rest_octets_struct_s_9 m_p1_rest_octets_struct_s_9;
+   }p1_rest_octets_struct_s_8_value;
+   ispresent p1_rest_octets_struct_s_13_tag;
+   union p1_rest_octets_struct_s_13_value{
+      p1_rest_octets_struct_s_14 m_p1_rest_octets_struct_s_14;
+   }p1_rest_octets_struct_s_13_value;
+}p1_rest_octets_struct_s_7;
+
+typedef enum {
+   P1_REST_OCTETS_STRUCT_S_18_NULL,
+   P1_REST_OCTETS_STRUCT_LHSTRING_L1, // L
+   P1_REST_OCTETS_STRUCT_S_19 // H
+}p1_rest_octets_struct_s_18_enum;
+
+typedef struct p1_rest_octets_struct_s_19{
+   ispresent p1_rest_octets_struct_s_19_tag;
+   union p1_rest_octets_struct_s_19_value{
+      U8 amr_config;
+   }p1_rest_octets_struct_s_19_value;
+}p1_rest_octets_struct_s_19;
+
+typedef enum {
+   P1_REST_OCTETS_STRUCT_S_20_NULL,
+   P1_REST_OCTETS_STRUCT_LHSTRING_L2, // L
+   P1_REST_OCTETS_STRUCT_S_21 // H
+}p1_rest_octets_struct_s_20_enum;
+
+typedef struct p1_rest_octets_struct_s_21{
+   U8 priority_uplink_access;
+   ispresent p1_rest_octets_struct_s_22_tag;
+   union p1_rest_octets_struct_s_22_value{
+      etws_primary_notification_struct etws_primary_notification;
+   }p1_rest_octets_struct_s_22_value;
+}p1_rest_octets_struct_s_21;
+
+typedef enum {
+   P1_REST_OCTETS_STRUCT_S_23_NULL,
+   P1_REST_OCTETS_STRUCT_LHSTRING_L3, // L
+   P1_REST_OCTETS_STRUCT_S_24 // H
+}p1_rest_octets_struct_s_23_enum;
+
+typedef struct p1_rest_octets_struct_s_24{
+   U8 implicit_reject_cs;
+   U8 implicit_reject_ps;
+}p1_rest_octets_struct_s_24;
+
+/* SEQUENCE p1_rest_octets_struct */
+typedef struct p1_rest_octets_struct{
+   isLHpresent p1_rest_octets_struct_s_1_tag;
+   union p1_rest_octets_struct_s_1_value{
+      p1_rest_octets_struct_s_2 m_p1_rest_octets_struct_s_2;
+   }p1_rest_octets_struct_s_1_value;
+   isLHpresent p1_rest_octets_struct_s_3_tag;
+   union p1_rest_octets_struct_s_3_value{
+      U8 priority1;
+   }p1_rest_octets_struct_s_3_value;
+   isLHpresent p1_rest_octets_struct_s_4_tag;
+   union p1_rest_octets_struct_s_4_value{
+      U8 priority2;
+   }p1_rest_octets_struct_s_4_value;
+   isLHpresent p1_rest_octets_struct_s_5_tag;
+   union p1_rest_octets_struct_s_5_value{
+      group_call_information m_group_call_information;
+   }p1_rest_octets_struct_s_5_value;
+   isLHpresent packet_page_indication_1_tag;
+   isLHpresent packet_page_indication_2_tag;
+   p1_rest_octets_struct_s_6_enum p1_rest_octets_struct_s_6_tag;
+   union p1_rest_octets_struct_s_6_value{
+      p1_rest_octets_struct_s_7 m_p1_rest_octets_struct_s_7;
+   }p1_rest_octets_struct_s_6_value;
+   p1_rest_octets_struct_s_18_enum p1_rest_octets_struct_s_18_tag;
+   union p1_rest_octets_struct_s_18_value{
+      p1_rest_octets_struct_s_19 m_p1_rest_octets_struct_s_19;
+   }p1_rest_octets_struct_s_18_value;
+   p1_rest_octets_struct_s_20_enum p1_rest_octets_struct_s_20_tag;
+   union p1_rest_octets_struct_s_20_value{
+      p1_rest_octets_struct_s_21 m_p1_rest_octets_struct_s_21;
+   }p1_rest_octets_struct_s_20_value;
+   p1_rest_octets_struct_s_23_enum p1_rest_octets_struct_s_23_tag;
+   union p1_rest_octets_struct_s_23_value{
+      p1_rest_octets_struct_s_24 m_p1_rest_octets_struct_s_24;
+   }p1_rest_octets_struct_s_23_value;
+}p1_rest_octets_struct;
+
+/* SEQUENCE paging_request_type1_struct */
+typedef struct paging_request_type1_struct{
+   U8 l2pseudo_length;
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   channels_needed_struct m_channels_needed_struct;
+   page_mode_struct m_page_mode_struct;
+   mobile_identity1_struct m_mobile_identity1_struct;
+   Bool is_m_mobile_identity2_struct_present; //truncation or optional 
+   mobile_identity2_struct m_mobile_identity2_struct;
+   p1_rest_octets_struct m_p1_rest_octets_struct;
+}paging_request_type1_struct;
+
+/* SEQUENCE utran fdd description struct si2ter */
+typedef struct utran_fdd_description_struct_si2ter{
+   U16 fdd_arfcn;
+   ispresent utran_fdd_description_struct_si2ter_s_1_tag;
+   union utran_fdd_description_struct_si2ter_s_1_value{
+      U8 bandwidth_fdd;
+   }utran_fdd_description_struct_si2ter_s_1_value;
+}utran_fdd_description_struct_si2ter;
+
+/* SEQUENCE utran tdd description struct si2ter */
+typedef struct utran_tdd_description_struct_si2ter{
+   U16 tdd_arfcn;
+   ispresent utran_tdd_description_struct_si2ter_s_1_tag;
+   union utran_tdd_description_struct_si2ter_s_1_value{
+      U8 bandwidth_tdd;
+   }utran_tdd_description_struct_si2ter_s_1_value;
+}utran_tdd_description_struct_si2ter;
+
+typedef struct p_3_g_measurement_parameters_description_struct_si2ter_s_2{
+   U8 fdd_qoffset;
+   U8 fdd_qmin;
+}p_3_g_measurement_parameters_description_struct_si2ter_s_2;
+
+/* SEQUENCE 3 g measurement parameters description struct si2ter */
+typedef struct p_3_g_measurement_parameters_description_struct_si2ter{
+   U8 qsearch_i;
+   ispresent p_3_g_measurement_parameters_description_struct_si2ter_s_1_tag;
+   union p_3_g_measurement_parameters_description_struct_si2ter_s_1_value{
+      p_3_g_measurement_parameters_description_struct_si2ter_s_2 m_p_3_g_measurement_parameters_description_struct_si2ter_s_2;
+   }p_3_g_measurement_parameters_description_struct_si2ter_s_1_value;
+   ispresent p_3_g_measurement_parameters_description_struct_si2ter_s_3_tag;
+   union p_3_g_measurement_parameters_description_struct_si2ter_s_3_value{
+      U8 tdd_qoffset;
+   }p_3_g_measurement_parameters_description_struct_si2ter_s_3_value;
+}p_3_g_measurement_parameters_description_struct_si2ter;
+
+typedef enum {
+   SI2TER_REST_OCTETS_STRUCT_S_6_NULL,
+   SI2TER_REST_OCTETS_STRUCT_LHSTRING_L, // L
+   SI2TER_REST_OCTETS_STRUCT_S_7 // H
+}si2ter_rest_octets_struct_s_6_enum;
+
+typedef struct si2ter_rest_octets_struct_s_7{
+   ispresent si2ter_rest_octets_struct_s_7_tag;
+   union si2ter_rest_octets_struct_s_7_value{
+      p_3_g_additional_measurement_parameters_description_struct p_3_g_additional_measurement_parameters_description;
+   }si2ter_rest_octets_struct_s_7_value;
+}si2ter_rest_octets_struct_s_7;
+
+typedef struct si2ter_rest_octets_struct_s_2{
+   U8 si2ter_mp_change_mark;
+   U8 si2ter_3g_change_mark;
+   U8 si2ter_index;
+   U8 si2ter_count;
+   ispresent si2ter_rest_octets_struct_s_3_tag;
+   union si2ter_rest_octets_struct_s_3_value{
+      utran_fdd_description_struct_si2ter utran_fdd_description;
+   }si2ter_rest_octets_struct_s_3_value;
+   ispresent si2ter_rest_octets_struct_s_4_tag;
+   union si2ter_rest_octets_struct_s_4_value{
+      utran_tdd_description_struct_si2ter utran_tdd_description;
+   }si2ter_rest_octets_struct_s_4_value;
+   ispresent si2ter_rest_octets_struct_s_5_tag;
+   union si2ter_rest_octets_struct_s_5_value{
+      p_3_g_measurement_parameters_description_struct_si2ter p_3_g_measurement_parameters_description;
+   }si2ter_rest_octets_struct_s_5_value;
+   si2ter_rest_octets_struct_s_6_enum si2ter_rest_octets_struct_s_6_tag;
+   union si2ter_rest_octets_struct_s_6_value{
+      si2ter_rest_octets_struct_s_7 m_si2ter_rest_octets_struct_s_7;
+   }si2ter_rest_octets_struct_s_6_value;
+}si2ter_rest_octets_struct_s_2;
+
+/* SEQUENCE si2ter rest octets struct */
+typedef struct si2ter_rest_octets_struct{
+   isLHpresent si2ter_rest_octets_struct_s_1_tag;
+   union si2ter_rest_octets_struct_s_1_value{
+      si2ter_rest_octets_struct_s_2 m_si2ter_rest_octets_struct_s_2;
+   }si2ter_rest_octets_struct_s_1_value;
+}si2ter_rest_octets_struct;
+
+/* SEQUENCE si_2ter_struct */
+typedef struct si_2ter_struct{
+   U8 l2pseudo_length;
+   U8 skip_ind;
+   U8 proto_disc;
+   U8 mesg_type;
+   si2ter_rest_octets_struct m_si2ter_rest_octets_struct;
+}si_2ter_struct;
+
+//Encode Function  Declaration
+
+DLLEXPORT extern U32 enhanced_measurement_report_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_info_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 enhanced_measurement_report_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 extended_measurement_report_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 gprs_suspension_request_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 handover_failure_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_failure_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_complete_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 uplink_assignment_2_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 btti_multiple_downlink_assignment_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rtti_multiple_downlink_assignment_sc_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rtti_multiple_downlink_assignment_dc_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_uplink_assignment_2_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 pdch_pairs_description_ie_for_mttr_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_11_bit_message_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_8_bit_message_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_failure_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_notification_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_ack_nack_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_dummy_control_block_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_measurement_report_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_mobile_tbf_status_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_psi_status_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_si_status_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_pause_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 additional_ms_radio_access_capabilities_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ms_network_capability_value_part_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 p_3_g_neighbour_cell_description_struct_mi_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 handover_complete_mesg_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_response_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 csn_paging_request_type1_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_enhanced_measurement_report_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_resource_request_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 measurement_information_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 measurement_report_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_timeslot_reconfigure_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_ack_nack_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_tbf_release_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi16_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi15_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi14_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi13_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi8_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi7_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi6_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi4_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_quater_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_ter_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_bis_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi1_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_serving_cell_data_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_queueing_notification_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_prach_parameters_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_power_control_timing_advance_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_polling_request_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_pdch_release_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_paging_request_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_neighbour_cell_data_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_dummy_control_block_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_assignment_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_continue_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_access_reject_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_assignment_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_downlink_assignment_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_uplink_assignment_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ps_handover_command_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_timeslot_reconfigure_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ps_handover_radio_resources_2_ie_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 egprs_packet_downlink_ack_nack_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ms_ra_capability_value_part_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi5_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi2_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_measurement_order_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_order_message_content_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 channel_release_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_peer_classmark_change_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type3_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type2_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type1_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 si_2ter_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 si2_quater_struct_pack(U8 *frame, void *pmtk_d, U32 bit_offset, U32 frame_size, CsnContext *pParentContext );
+
+//Decode Function  Declaration
+
+DLLEXPORT extern U32 dynamic_allocation_2_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 enhanced_measurement_report_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 extended_measurement_report_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 gprs_suspension_request_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 handover_failure_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_failure_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 assignment_complete_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 uplink_assignment_2_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 btti_multiple_downlink_assignment_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rtti_multiple_downlink_assignment_sc_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rtti_multiple_downlink_assignment_dc_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_uplink_assignment_2_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 pdch_pairs_description_ie_for_mttr_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_11_bit_message_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_control_acknowledgement_8_bit_message_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_failure_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_notification_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_ack_nack_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_dummy_control_block_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_measurement_report_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_mobile_tbf_status_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_psi_status_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_si_status_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_pause_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 additional_ms_radio_access_capabilities_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ms_network_capability_value_part_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 p_3_g_neighbour_cell_description_struct_mi_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 handover_complete_mesg_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_response_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 csn_paging_request_type1_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_enhanced_measurement_report_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_resource_request_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 measurement_information_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 measurement_report_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_timeslot_reconfigure_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_ack_nack_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_tbf_release_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi16_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi15_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi14_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi13_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi8_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi7_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi6_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi4_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_quater_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_ter_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_bis_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi3_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi1_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_serving_cell_data_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_queueing_notification_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_prach_parameters_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_power_control_timing_advance_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_polling_request_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_pdch_release_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_paging_request_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_neighbour_cell_data_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_dummy_control_block_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_downlink_assignment_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_continue_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_access_reject_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_uplink_assignment_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_downlink_assignment_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_uplink_assignment_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ps_handover_command_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 multiple_tbf_timeslot_reconfigure_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ps_handover_radio_resources_2_ie_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 egprs_packet_downlink_ack_nack_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 ms_ra_capability_value_part_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi5_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 psi2_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_measurement_order_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 packet_cell_change_order_message_content_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 channel_release_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_peer_classmark_change_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type3_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type2_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 paging_request_type1_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 si_2ter_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 si2_quater_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_cell_select_para_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_channel_descr_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_ctrl_channel_descr_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_rach_ctrl_para_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_lai_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_radio_link_counter_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_ca_list_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_control_msg_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_si2q_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_mi_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+DLLEXPORT extern U32 rr_em_measurement_report_info_struct_unpack( void *pmtk_d, U8 *frame, U32 bit_offset, U32 frame_size, void *err_hndl, CsnContext *pParentContext );
+
+#endif /* _MTK_CSN_H */
+
diff --git a/mcu/protocol/interface/asn/rr/include/mtkcsn_global.h b/mcu/protocol/interface/asn/rr/include/mtkcsn_global.h
new file mode 100644
index 0000000..97c48ee
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/mtkcsn_global.h
@@ -0,0 +1,132 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2007
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REME DY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+/*******************************************************************************
+* Filename:
+* ---------
+*	mtkcsn_global.h  : header file
+*
+* Project:
+* --------
+*  csn.1 common ------ CSN.1 common file
+*
+* Description:
+* ------------
+*  This file defines the basic data type
+*  If user want to modify the file, please discuss with the owner
+*
+* Author:
+* -------
+ * -------
+*
+*******************************************************************************/
+#if !defined _CSN_GLOBAL_H_
+#define _CSN_GLOBAL_H_
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "as_common.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+  
+
+//#define _CSN_TEST_    //if no need any more, comment this marco
+//#define  MCD_DLL_EXPORT 
+
+
+#ifdef _CSN_TEST_
+
+#include "csn_macro_define.h"
+
+#define  ASSERT(x)   assert(x) 
+
+typedef  unsigned char   U8;
+typedef  unsigned short  U16;
+typedef  unsigned int    U32;
+typedef  U8			     Bool;
+
+ 
+typedef	 char	S8;
+typedef	 short	S16;
+typedef	 int	S32;
+
+ 
+#ifndef TRUE
+#define TRUE 1
+#endif
+#ifndef FALSE
+#define FALSE 0
+#endif
+ 
+#ifndef NULL
+#define NULL (void *)0
+#endif
+
+
+#else
+
+#include "rr_common_headers.h"
+
+typedef  kal_uint8   U8;
+typedef  kal_uint16  U16;
+typedef  kal_uint32  U32;
+#ifndef Bool    
+typedef  kal_uint8   Bool;
+#endif
+
+ 
+typedef	 kal_int8     S8;
+typedef	 kal_int16 	S16;
+typedef	 kal_int32 	S32;
+
+
+#ifndef TRUE
+#define TRUE KAL_TRUE
+#endif
+#ifndef FALSE
+#define FALSE KAL_FALSE
+#endif
+ 
+#ifndef NULL
+#define NULL (void *)0
+#endif
+
+#endif
+
+#ifdef __cplusplus   
+}
+#endif
+#endif //_CSN_GLOBAL_H_
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap.h b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap.h
new file mode 100644
index 0000000..74c37b5
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap.h
@@ -0,0 +1,120 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_alloc_bitmap.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _ALLOC_BITMAP_H
+#define _ALLOC_BITMAP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_pun.h
new file mode 100644
index 0000000..0b14f6f
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_pun.h
@@ -0,0 +1,136 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_alloc_bitmap_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_alloc_bitmap_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_ALLOC_BITMAP_PUN_H
+#define _NSTD_ALLOC_BITMAP_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int alloc_struct_bits(void *);
+IMP void alloc_struct_alloc(void *);
+IMP void alloc_struct_dealloc(void *);
+IMP unsigned int alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_struct.h
new file mode 100644
index 0000000..a8f3b3d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_alloc_bitmap_struct.h
@@ -0,0 +1,133 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_alloc_bitmap_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_alloc_bitmap_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_ALLOC_BITMAP_STRUCT_H
+#define _NSTD_ALLOC_BITMAP_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 len_encoded;
+    kal_uint8 blk_or_blk_period; /* BLK OR BLK PERIOD*/
+    kal_uint8 alloc_bitmap_length; /* ALLOC BITMAP LENGTH*/
+    kal_uint8 no_alloc_bitmap;
+    kal_uint8 alloc_bitmap_size;
+    kal_uint8 *alloc_bitmap;
+} alloc_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_channel_rel.h b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel.h
new file mode 100644
index 0000000..fc92dbf
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel.h
@@ -0,0 +1,125 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_channel_rel.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef  _nstd_channel_rel_H
+#define _nstd_channel_rel_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_channel_rel.h"
+#include "get_nstd_channel_rel.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_pun.h
new file mode 100644
index 0000000..9dde938
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_pun.h
@@ -0,0 +1,191 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_channel_rel_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_channel_rel_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_CHANNEL_REL_PUN_H
+#define _NSTD_CHANNEL_REL_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define field1_struct_size(x) 2
+IMP unsigned int field1_struct_bits(void *);
+IMP void field1_struct_alloc(void *);
+IMP void field1_struct_dealloc(void *);
+IMP unsigned int field1_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int field1_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define field2_struct_size(x) 2
+IMP unsigned int field2_struct_bits(void *);
+IMP void field2_struct_alloc(void *);
+IMP void field2_struct_dealloc(void *);
+IMP unsigned int field2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int field2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int group_channel_description_struct_bits(void *);
+IMP void group_channel_description_struct_alloc(void *);
+IMP void group_channel_description_struct_dealloc(void *);
+IMP unsigned int group_channel_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int group_channel_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define range_struct_size(x) 3
+IMP unsigned int range_struct_bits(void *);
+IMP void range_struct_alloc(void *);
+IMP void range_struct_dealloc(void *);
+IMP unsigned int range_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int range_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ba_list_pref_struct_bits(void *);
+IMP void ba_list_pref_struct_alloc(void *);
+IMP void ba_list_pref_struct_dealloc(void *);
+IMP unsigned int ba_list_pref_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ba_list_pref_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprs_resumption_struct_size(x) 1
+IMP unsigned int gprs_resumption_struct_bits(void *);
+IMP void gprs_resumption_struct_alloc(void *);
+IMP void gprs_resumption_struct_dealloc(void *);
+IMP unsigned int gprs_resumption_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_resumption_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channel_release_struct_bits(void *);
+IMP void channel_release_struct_alloc(void *);
+IMP void channel_release_struct_dealloc(void *);
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif 
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_struct.h
new file mode 100644
index 0000000..04ec467
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_channel_rel_struct.h
@@ -0,0 +1,205 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_channel_rel_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_channel_rel_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_CHANNEL_REL_STRUCT_H
+#define _NSTD_CHANNEL_REL_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "l3_inc_enums.h"
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 arfcn_high;
+    kal_uint8 arfcn_low;
+} field1_struct;
+
+typedef struct {
+    kal_uint8 maio_high;
+    kal_uint8 maio_low;
+    kal_uint8 hsn;
+} field2_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 ch_typeand_tdma;
+    kal_uint8 tn;
+    kal_uint8 training_seq; /* training sequence code*/
+    is_present_enum hopping_ch_tag;
+    union {
+        field1_struct channel_select1;
+        field2_struct channel_select2;
+    } hopping_ch_value;
+    kal_uint8 no_ma;
+    kal_uint8 ma_size;
+    kal_uint8 *ma;
+} group_channel_description_struct;
+
+typedef struct {
+    kal_uint16 range_lower;
+    kal_uint16 range_higher;
+} range_struct;
+
+typedef struct {
+    unsigned int no_rangelimit;
+    unsigned int rangelimit_size;
+    range_struct *rangelimit;
+    unsigned int no_ba_freq;
+    unsigned int ba_freq_size;
+    kal_uint16 *ba_freq;
+} ba_list_pref_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 ack;
+} gprs_resumption_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif 
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack.h
new file mode 100644
index 0000000..19d8dab
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack.h
@@ -0,0 +1,113 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_egprs_ack.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_egprs_ack.h"
+#include "get_nstd_egprs_ack.h"
+#endif
+#ifdef __cplusplus
+}
+
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_pun.h
new file mode 100644
index 0000000..62d1c13
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_pun.h
@@ -0,0 +1,137 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_egprs_ack_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_egprs_ack_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_EGPRS_ACK_PUN_H
+#define _NSTD_EGPRS_ACK_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define egprsack_nack_description_struct_size(x) 60
+IMP unsigned int egprsack_nack_description_struct_bits(void *);
+IMP void egprsack_nack_description_struct_alloc(void *);
+IMP void egprsack_nack_description_struct_dealloc(void *);
+IMP unsigned int egprsack_nack_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprsack_nack_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_struct.h
new file mode 100644
index 0000000..e14ebc8
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_ack_struct.h
@@ -0,0 +1,137 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_egprs_ack_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_egprs_ack_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_EGPRS_ACK_STRUCT_H
+#define _NSTD_EGPRS_ACK_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 final_ack_ind; /* final_ack_ind*/
+    kal_uint8 begin_window; /* begin_window*/
+    kal_uint8 end_window; /* end_window*/
+    kal_uint16 start_seq_no; /* start_seq_no*/
+    kal_uint8 is_compressed; /* is_compressed*/
+    kal_uint8 color_code; /* color_code*/
+    kal_uint8 c_bitmap_length; /* c_bitmap_length*/
+    kal_uint8 c_bitmap[16];
+    kal_uint8 uc_bitmap_length; /* uc_bitmap_length*/
+    kal_uint8 uc_bitmap[40];
+} egprsack_nack_description_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers.h
new file mode 100644
index 0000000..f9cbe3e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers.h
@@ -0,0 +1,144 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_egprs_headers.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _nstd_egprs_headers_H
+#define _nstd_egprs_headers_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#include "nstd_egprs_headers_struct.h"
+
+#ifdef TOOL
+#include "set_nstd_egprs_headers.h"
+#include "get_nstd_egprs_headers.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+unsigned int egprs_ul_t1_header_struct_print(
+        egprs_ul_t1_header_struct*,  struct prtBuffMgr * , int tabs);
+unsigned int egprs_ul_t2_header_struct_print(
+        egprs_ul_t2_header_struct*,  struct prtBuffMgr * , int tabs);
+unsigned int egprs_ul_t3_header_struct_print(
+        egprs_ul_t3_header_struct*,  struct prtBuffMgr * , int tabs);
+
+unsigned int egprs_dl_t1_header_struct_print(
+        egprs_dl_t1_header_struct*,  struct prtBuffMgr * , int tabs);
+unsigned int egprs_dl_t2_header_struct_print(
+        egprs_dl_t2_header_struct*,  struct prtBuffMgr * , int tabs);
+unsigned int egprs_dl_t3_header_struct_print(
+        egprs_dl_t3_header_struct*,  struct prtBuffMgr * , int tabs);
+
+
+#endif /* _nstd_egprs_headers_H */
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_pun.h
new file mode 100644
index 0000000..9488e4a
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_pun.h
@@ -0,0 +1,172 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_egprs_headers_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_egprs_headers_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_EGPRS_HEADERS_PUN_H
+#define _NSTD_EGPRS_HEADERS_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define egprs_ul_t1_header_struct_size(x) 11
+IMP unsigned int egprs_ul_t1_header_struct_bits(void *);
+IMP void egprs_ul_t1_header_struct_alloc(void *);
+IMP void egprs_ul_t1_header_struct_dealloc(void *);
+IMP unsigned int egprs_ul_t1_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_ul_t1_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_ul_t2_header_struct_size(x) 9
+IMP unsigned int egprs_ul_t2_header_struct_bits(void *);
+IMP void egprs_ul_t2_header_struct_alloc(void *);
+IMP void egprs_ul_t2_header_struct_dealloc(void *);
+IMP unsigned int egprs_ul_t2_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_ul_t2_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_ul_t3_header_struct_size(x) 10
+IMP unsigned int egprs_ul_t3_header_struct_bits(void *);
+IMP void egprs_ul_t3_header_struct_alloc(void *);
+IMP void egprs_ul_t3_header_struct_dealloc(void *);
+IMP unsigned int egprs_ul_t3_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_ul_t3_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_dl_t1_header_struct_size(x) 10
+IMP unsigned int egprs_dl_t1_header_struct_bits(void *);
+IMP void egprs_dl_t1_header_struct_alloc(void *);
+IMP void egprs_dl_t1_header_struct_dealloc(void *);
+IMP unsigned int egprs_dl_t1_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_dl_t1_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_dl_t2_header_struct_size(x) 8
+IMP unsigned int egprs_dl_t2_header_struct_bits(void *);
+IMP void egprs_dl_t2_header_struct_alloc(void *);
+IMP void egprs_dl_t2_header_struct_dealloc(void *);
+IMP unsigned int egprs_dl_t2_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_dl_t2_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_dl_t3_header_struct_size(x) 9
+IMP unsigned int egprs_dl_t3_header_struct_bits(void *);
+IMP void egprs_dl_t3_header_struct_alloc(void *);
+IMP void egprs_dl_t3_header_struct_dealloc(void *);
+IMP unsigned int egprs_dl_t3_header_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_dl_t3_header_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_struct.h
new file mode 100644
index 0000000..e12db46
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_egprs_headers_struct.h
@@ -0,0 +1,191 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_egprs_headers_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_egprs_headers_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_EGPRS_HEADERS_STRUCT_H
+#define _NSTD_EGPRS_HEADERS_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 tfi;
+    kal_uint8 cv;
+    kal_uint8 stall_ind;
+    kal_uint8 retr;
+    kal_uint16 bsn1;
+    kal_uint16 bsn2;
+    kal_uint8 cps;
+    kal_uint8 rsb;
+    kal_uint8 pi;
+} egprs_ul_t1_header_struct;
+
+typedef struct {
+    kal_uint8 tfi;
+    kal_uint8 cv;
+    kal_uint8 stall_ind;
+    kal_uint8 retr;
+    kal_uint16 bsn1;
+    kal_uint8 cps;
+    kal_uint8 rsb;
+    kal_uint8 pi;
+} egprs_ul_t2_header_struct;
+
+typedef struct {
+    kal_uint8 tfi;
+    kal_uint8 cv;
+    kal_uint8 stall_ind;
+    kal_uint8 retr;
+    kal_uint16 bsn1;
+    kal_uint8 cps;
+    kal_uint8 spb;
+    kal_uint8 rsb;
+    kal_uint8 pi;
+} egprs_ul_t3_header_struct;
+
+typedef struct {
+    kal_uint8 tfi; /* temporary flow identifier*/
+    kal_uint8 rrbp; /* RRBP field*/
+    kal_uint8 es_orp; /* EGPRS supplementary/polling*/
+    kal_uint8 usf; /* USF field*/
+    kal_uint16 bsn1; /* block sequence no. 1*/
+    kal_uint16 bsn2; /* block sequence no. 2*/
+    kal_uint8 pr; /* power reduction*/
+    kal_uint8 cps; /* coding & puncturing scheme*/
+} egprs_dl_t1_header_struct;
+
+typedef struct {
+    kal_uint8 tfi; /* temporary flow identifier*/
+    kal_uint8 rrbp; /* RRBP field*/
+    kal_uint8 es_orp; /* EGPRS supplementary/polling*/
+    kal_uint8 usf; /* USF field*/
+    kal_uint16 bsn1; /* block sequence no. 1*/
+    kal_uint8 pr; /* power reduction*/
+    kal_uint8 cps; /* coding & puncturing scheme*/
+} egprs_dl_t2_header_struct;
+
+typedef struct {
+    kal_uint8 tfi; /* temporary flow identifier*/
+    kal_uint8 rrbp; /* RRBP field*/
+    kal_uint8 es_orp; /* EGPRS supplementary/polling*/
+    kal_uint8 usf; /* USF field*/
+    kal_uint16 bsn1; /* block sequence no. 1*/
+    kal_uint8 pr; /* power reduction*/
+    kal_uint8 spb; /* split block indicator*/
+    kal_uint8 cps; /* coding & puncturing scheme*/
+} egprs_dl_t3_header_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_extension_bit.h b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit.h
new file mode 100644
index 0000000..b03e454
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit.h
@@ -0,0 +1,120 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_extension_bit.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _EXTENSION_BIT_H
+#define _EXTENSION_BIT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_extension_bit.h"
+#include "get_nstd_extension_bit.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_pun.h
new file mode 100644
index 0000000..4bb8679
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_pun.h
@@ -0,0 +1,136 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_extension_bit_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_extension_bit_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_EXTENSION_BIT_PUN_H
+#define _NSTD_EXTENSION_BIT_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int extension_bit_struct_bits(void *);
+IMP void extension_bit_struct_alloc(void *);
+IMP void extension_bit_struct_dealloc(void *);
+IMP unsigned int extension_bit_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int extension_bit_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_struct.h
new file mode 100644
index 0000000..26ce54d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_extension_bit_struct.h
@@ -0,0 +1,131 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_extension_bit_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_extension_bit_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_EXTENSION_BIT_STRUCT_H
+#define _NSTD_EXTENSION_BIT_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 spare_length; /* EXTENTION BITS LENGTH*/
+    kal_uint8 no_spare;
+    kal_uint8 spare_size;
+    kal_uint8 *spare; /* SPARE*/
+} extension_bit_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct.h b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct.h
new file mode 100644
index 0000000..616ed7f
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct.h
@@ -0,0 +1,121 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_gprsmobileiestruct.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _GPRSMOBILEIESTRUCT_H_
+#define _GPRSMOBILEIESTRUCT_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_gprsmobileiestruct.h"
+#include "get_gprsmobileiestruct.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_pun.h
new file mode 100644
index 0000000..d7a5a59
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_pun.h
@@ -0,0 +1,154 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_gprsmobileiestruct_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_gprsmobileiestruct_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_GPRSMOBILEIESTRUCT_PUN_H
+#define _NSTD_GPRSMOBILEIESTRUCT_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int arfcnindexliststruct_bits(void *);
+IMP void arfcnindexliststruct_alloc(void *);
+IMP void arfcnindexliststruct_dealloc(void *);
+IMP unsigned int arfcnindexliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcnindexliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int arfcnstruct1_bits(void *);
+IMP void arfcnstruct1_alloc(void *);
+IMP void arfcnstruct1_dealloc(void *);
+IMP unsigned int arfcnstruct1_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcnstruct1_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rflliststruct1_bits(void *);
+IMP void rflliststruct1_alloc(void *);
+IMP void rflliststruct1_dealloc(void *);
+IMP unsigned int rflliststruct1_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rflliststruct1_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprsmobileiestruct_bits(void *);
+IMP void gprsmobileiestruct_alloc(void *);
+IMP void gprsmobileiestruct_dealloc(void *);
+IMP unsigned int gprsmobileiestruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmobileiestruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_struct.h
new file mode 100644
index 0000000..d581feb
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_gprsmobileiestruct_struct.h
@@ -0,0 +1,158 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_gprsmobileiestruct_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_gprsmobileiestruct_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_GPRSMOBILEIESTRUCT_STRUCT_H
+#define _NSTD_GPRSMOBILEIESTRUCT_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+#include "nstd_mastruct1_struct.h"
+
+typedef struct {
+    unsigned int no_arflist;
+    unsigned int arflist_size;
+    kal_uint8 *arflist;
+} arfcnindexliststruct;
+
+typedef struct {
+    ispresent ch207_tag;
+    union {
+        arfcnindexliststruct parfcn;
+    } ch207_value;
+} arfcnstruct1;
+
+typedef struct {
+    unsigned int no_rfl;
+    unsigned int rfl_size;
+    kal_uint8 *rfl;
+} rflliststruct1;
+
+typedef struct {
+    kal_uint8 hsn; /* HSN*/
+    ispresent ch208_tag;
+    union {
+        rflliststruct1 prfl;
+    } ch208_value;
+    ispresent ch209_tag;
+    union {
+        mastruct1 ach;
+        arfcnstruct1 pch;
+    } ch209_value;
+} gprsmobileiestruct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mastruct1.h b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1.h
new file mode 100644
index 0000000..081e7fa
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1.h
@@ -0,0 +1,121 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_mastruct1.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _mastruct1_H_
+#define _mastruct1_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_mastruct1.h"
+#include "get_nstd_mastruct1.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_pun.h
new file mode 100644
index 0000000..0044aa0
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_pun.h
@@ -0,0 +1,136 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_mastruct1_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_mastruct1_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_MASTRUCT1_PUN_H
+#define _NSTD_MASTRUCT1_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int mastruct1_bits(void *);
+IMP void mastruct1_alloc(void *);
+IMP void mastruct1_dealloc(void *);
+IMP unsigned int mastruct1_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mastruct1_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_struct.h
new file mode 100644
index 0000000..f6e7087
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mastruct1_struct.h
@@ -0,0 +1,130 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_mastruct1_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_mastruct1_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_MASTRUCT1_STRUCT_H
+#define _NSTD_MASTRUCT1_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 no_ma_bit_map;
+    kal_uint8 ma_bit_map_size;
+    kal_uint8 *ma_bit_map; /* BIT MAP*/
+} mastruct1;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer.h b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer.h
new file mode 100644
index 0000000..87bd5c2
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer.h
@@ -0,0 +1,121 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_mobile_alloc_peer.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _nstd_mobile_alloc_peer_H
+#define _nstd_mobile_alloc_peer_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_nstd_mobile_alloc_peer.h"
+#include "get_nstd_mobile_alloc_peer.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_pun.h
new file mode 100644
index 0000000..c0aa845
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_pun.h
@@ -0,0 +1,172 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_mobile_alloc_peer_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_mobile_alloc_peer_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_MOBILE_ALLOC_PEER_PUN_H
+#define _NSTD_MOBILE_ALLOC_PEER_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+IMP unsigned int ma_bitmap_struct_bits(void *);
+IMP void ma_bitmap_struct_alloc(void *);
+IMP void ma_bitmap_struct_dealloc(void *);
+IMP unsigned int ma_bitmap_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ma_bitmap_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int arfcn_list_struct_bits(void *);
+IMP void arfcn_list_struct_alloc(void *);
+IMP void arfcn_list_struct_dealloc(void *);
+IMP unsigned int arfcn_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcn_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int arfcn_index_list_struct_bits(void *);
+IMP void arfcn_index_list_struct_alloc(void *);
+IMP void arfcn_index_list_struct_dealloc(void *);
+IMP unsigned int arfcn_index_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcn_index_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_rfl_num_list_peer_struct_bits(void *);
+IMP void rr_rfl_num_list_peer_struct_alloc(void *);
+IMP void rr_rfl_num_list_peer_struct_dealloc(void *);
+IMP unsigned int rr_rfl_num_list_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_rfl_num_list_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rfl_list_struct_bits(void *);
+IMP void rfl_list_struct_alloc(void *);
+IMP void rfl_list_struct_dealloc(void *);
+IMP unsigned int rfl_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rfl_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_gprs_mobile_alloc_peer_struct_bits(void *);
+IMP void rr_gprs_mobile_alloc_peer_struct_alloc(void *);
+IMP void rr_gprs_mobile_alloc_peer_struct_dealloc(void *);
+IMP unsigned int rr_gprs_mobile_alloc_peer_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_gprs_mobile_alloc_peer_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int direct_encode2struct_bits(void *);
+IMP void direct_encode2struct_alloc(void *);
+IMP void direct_encode2struct_dealloc(void *);
+IMP unsigned int direct_encode2struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int direct_encode2struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_struct.h
new file mode 100644
index 0000000..93ddd9e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_mobile_alloc_peer_struct.h
@@ -0,0 +1,189 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_mobile_alloc_peer_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_mobile_alloc_peer_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_MOBILE_ALLOC_PEER_STRUCT_H
+#define _NSTD_MOBILE_ALLOC_PEER_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+
+typedef struct {
+    kal_uint8 ma_length; /* MA*/
+    /* Simon 20060907: for Columbia EDGE FT: MA length 43 => 5 bits are not enough */
+    //kal_uint32 ma_bitmap_bits:5;
+    kal_uint8 ma_bitmap_bits;
+    kal_uint32 ma_bitmap; /* MA BITMAP*/
+    /* Lanslo 20060909: for Columbia EDGE FT => MAX MA length = 1 to 64 bits (MA_LENGTH field is 6 bits)*/
+    kal_uint32 ma_bitmap_2; /* MA BITMAP 2 */
+} ma_bitmap_struct;
+
+typedef struct {
+    unsigned int no_fld;
+    unsigned int fld_size;
+    kal_uint8 *fld;
+} arfcn_list_struct;
+
+typedef struct {
+    kal_uint8 arfcn_index; /* ARFCN INDEX*/
+    ispresent arfcn_index_list_choice_tag;
+    union {
+        arfcn_list_struct p_arfcn_index_list;
+    } arfcn_index_list_choice_value;
+} arfcn_index_list_struct;
+
+typedef struct {
+    unsigned int no_field;
+    unsigned int field_size;
+    kal_uint8 *field;
+} rr_rfl_num_list_peer_struct;
+
+typedef struct {
+    kal_uint8 rfl_num; /* RFL NUMBER*/
+    ispresent rfl_num_list_choice_tag;
+    union {
+        rr_rfl_num_list_peer_struct p_rfl_num_list;
+    } rfl_num_list_choice_value;
+} rfl_list_struct;
+
+typedef struct {
+    kal_uint8 hsn; /* HSN*/
+    ispresent rfl_num_list_choice_tag;
+    union {
+        rfl_list_struct p_rfl_num_list;
+    } rfl_num_list_choice_value;
+    ispresent ma_arfcn_choice_tag;
+    union {
+        ma_bitmap_struct a_ma_length_bitmap;
+        arfcn_index_list_struct p_arfcn_index_list;
+    } ma_arfcn_choice_value;
+} rr_gprs_mobile_alloc_peer_struct;
+
+typedef struct {
+    kal_uint8 maio; /* MAIO*/
+    kal_uint8 hsn; /* HSN*/
+    kal_uint8 ma_freq_list_length; /* LENGTH OF MA FREQUENCY LIST*/
+    kal_uint8 no_ma_freq_list_contents;
+    kal_uint8 ma_freq_list_contents_size;
+    kal_uint8 *ma_freq_list_contents; /* MA FREQ LIST CONTENT*/
+} direct_encode2struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report.h b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report.h
new file mode 100644
index 0000000..110ae7d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report.h
@@ -0,0 +1,132 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_pkt_meas_report.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _nstd_pkt_meas_report_H
+#define _nstd_pkt_meas_report_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#include "kal_public_api.h"
+#endif
+#include "nstd_alloc_bitmap.h"
+#include "nstd_pmo.h"
+#include "gprs_rlcmac_common.h"
+#include "nstd_pkt_meas_report_struct.h"
+#include "nstd_pkt_meas_report_pun.h"
+#include "asn1lib.h"
+#ifdef TOOL
+#include "set_nstd_pkt_meas_report.h"
+#include "get_nstd_pkt_meas_report.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif 
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_pun.h
new file mode 100644
index 0000000..7801c3c
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_pun.h
@@ -0,0 +1,152 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_pkt_meas_report_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_pkt_meas_report_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_PKT_MEAS_REPORT_PUN_H
+#define _NSTD_PKT_MEAS_REPORT_PUN_H
+
+#include "kal_general_types.h"
+
+IMP unsigned int freq_bisc_struct_bits(void *);
+IMP void freq_bisc_struct_alloc(void *);
+IMP void freq_bisc_struct_dealloc(void *);
+IMP unsigned int freq_bisc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int freq_bisc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nc_meas_rep_struct_bits(void *);
+IMP void nc_meas_rep_struct_alloc(void *);
+IMP void nc_meas_rep_struct_dealloc(void *);
+IMP void umts_meas_rep_struct_alloc(void *);
+IMP void umts_meas_rep_struct_dealloc(void *);
+IMP unsigned int nc_meas_rep_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_meas_rep_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int umts_meas_rep_struct_pack(kal_uint8 * frame, void *mtk_d, unsigned int bit_offset);
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_struct.h
new file mode 100644
index 0000000..3cd3eed
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pkt_meas_report_struct.h
@@ -0,0 +1,149 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_pkt_meas_report_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_pkt_meas_report_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_PKT_MEAS_REPORT_STRUCT_H
+#define _NSTD_PKT_MEAS_REPORT_STRUCT_H
+
+#include "rr_common_def.h"
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 frequ_encyn; /* FREQUENCY N*/
+    ispresent bsic_nchoice_tag;
+    union {
+        kal_uint8 p_bsic_n;
+    } bsic_nchoice_value;
+    kal_uint8 rxlev; /* RXLEV*/
+} freq_bisc_struct;
+
+typedef struct {
+    kal_uint8 nc_mode; /* NC MODE*/
+    kal_uint8 rxlev_serving_cell; /* RX LEVEL SERVING CELL*/
+    ispresent interf_ser_cell_choice_tag;
+    union {
+        kal_uint8 p_inter_serv_cell;
+    } interf_ser_cell_choice_value;
+    kal_uint8 no_freq_bisc1;
+    kal_uint8 freq_bisc1_size;
+    freq_bisc_struct *freq_bisc1; /* FREQBISC STRUCT*/
+} nc_meas_rep_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pmo.h b/mcu/protocol/interface/asn/rr/include/nstd_pmo.h
new file mode 100644
index 0000000..5781b31
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pmo.h
@@ -0,0 +1,120 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_pmo.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _nstd_pmo_H
+#define _nstd_pmo_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+#ifdef TOOL
+#include "set_nstd_pmo.h"
+#include "get_nstd_pmo.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pmo_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_pmo_pun.h
new file mode 100644
index 0000000..7f4660c
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pmo_pun.h
@@ -0,0 +1,159 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_pmo_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_pmo_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_PMO_PUN_H
+#define _NSTD_PMO_PUN_H
+
+#include "kal_general_types.h"
+
+IMP unsigned int rmvd_freq_list_struct_bits(void *);
+IMP void rmvd_freq_list_struct_alloc(void *);
+IMP void rmvd_freq_list_struct_dealloc(void *);
+IMP unsigned int rmvd_freq_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmvd_freq_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nc_freq_diff_struct_bits(void *);
+IMP void nc_freq_diff_struct_alloc(void *);
+IMP void nc_freq_diff_struct_dealloc(void *);
+IMP unsigned int nc_freq_diff_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_freq_diff_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int add_freq_struct_bits(void *);
+IMP void add_freq_struct_alloc(void *);
+IMP void add_freq_struct_dealloc(void *);
+IMP unsigned int add_freq_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int add_freq_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int freq_diff_struct_bits(void *);
+IMP void freq_diff_struct_alloc(void *);
+IMP void freq_diff_struct_dealloc(void *);
+IMP unsigned int freq_diff_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int freq_diff_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ext_freq_list_struct_bits(void *);
+IMP void ext_freq_list_struct_alloc(void *);
+IMP void ext_freq_list_struct_dealloc(void *);
+IMP unsigned int ext_freq_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ext_freq_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_pmo_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_pmo_struct.h
new file mode 100644
index 0000000..c79543b
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_pmo_struct.h
@@ -0,0 +1,165 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_pmo_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_pmo_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_PMO_STRUCT_H
+#define _NSTD_PMO_STRUCT_H
+
+#include "rr_common_def.h"
+#include "meascell_struct.h"
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 no_rmvd_freq_index;
+    kal_uint8 rmvd_freq_index_size;
+    kal_uint8 *rmvd_freq_index; /* RMVD FREQ INDEX*/
+} rmvd_freq_list_struct;
+
+typedef struct {
+    kal_uint32 temp_bits:3;
+    kal_uint8 temp;
+    kal_uint8 bsic;
+    ispresent cell_sel_params_choice_tag;
+    union {
+        cell_selection_struct p_cell_sel_params;
+    } cell_sel_params_choice_value;
+} nc_freq_diff_struct;
+
+typedef struct {
+    kal_uint16 start_freq; /* START FREQUENCY*/
+    kal_uint8 bsic; /* BSIC*/
+    ispresent cell_sel_params_choice_tag;
+    union {
+        cell_selection_struct p_cell_sel_params;
+    } cell_sel_params_choice_value;
+    kal_uint8 no_freq_diff;
+    kal_uint8 freq_diff_size;
+    nc_freq_diff_struct *freq_diff;
+} add_freq_struct;
+
+typedef struct {
+    kal_uint32 temp_bits:3;
+    kal_uint8 temp; /* FREQ DIFF*/
+} freq_diff_struct;
+
+typedef struct {
+    kal_uint16 start_freq; /* START FREQUENCY*/
+    kal_uint8 no_freqdiff;
+    kal_uint8 freqdiff_size;
+    freq_diff_struct *freqdiff;
+} ext_freq_list_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_psi.h b/mcu/protocol/interface/asn/rr/include/nstd_psi.h
new file mode 100644
index 0000000..aaf6b13
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_psi.h
@@ -0,0 +1,130 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_psi.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _NSTD_PSI_H
+#define _NSTD_PSI_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#include "kal_public_api.h"
+#endif
+#include "rr_common_def.h"
+#include "meascell.h"
+#include "nstdpsi_struct.h"
+#include "nstdpsi_pun.h"
+#include "asn1lib.h"
+#ifdef TOOL
+#include "set_nstdpsi.h"
+#include "get_nstdpsi.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_psi_ie.h b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie.h
new file mode 100644
index 0000000..fe16ff5
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie.h
@@ -0,0 +1,119 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_psi_ie.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _PSI_IE_H
+#define _PSI_IE_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+#ifdef TOOL
+#include "set_psi_ie.h"
+#include "get_psi_ie.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_pun.h
new file mode 100644
index 0000000..7a599ea
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_pun.h
@@ -0,0 +1,173 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_psi_ie_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_psi_ie_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_PSI_IE_PUN_H
+#define _NSTD_PSI_IE_PUN_H
+
+/* W1043 Suggest Add for RHR */
+#include "kal_general_types.h"
+
+IMP unsigned int remain_cell_para_struct_bits(void *);
+IMP void remain_cell_para_struct_alloc(void *);
+IMP void remain_cell_para_struct_dealloc(void *);
+IMP unsigned int remain_cell_para_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int remain_cell_para_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int neighcellparastruct_bits(void *);
+IMP void neighcellparastruct_alloc(void *);
+IMP void neighcellparastruct_dealloc(void *);
+IMP unsigned int neighcellparastruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int neighcellparastruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define remain_cell_para_struct2_size(x) 1
+IMP unsigned int remain_cell_para_struct2_bits(void *);
+IMP void remain_cell_para_struct2_alloc(void *);
+IMP void remain_cell_para_struct2_dealloc(void *);
+IMP unsigned int remain_cell_para_struct2_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int remain_cell_para_struct2_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int structure2_bits(void *);
+IMP void structure2_alloc(void *);
+IMP void structure2_dealloc(void *);
+IMP unsigned int structure2_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int structure2_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int structure1_bits(void *);
+IMP void structure1_alloc(void *);
+IMP void structure1_dealloc(void *);
+IMP unsigned int structure1_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int structure1_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int neighparasetstruct_bits(void *);
+IMP void neighparasetstruct_alloc(void *);
+IMP void neighparasetstruct_dealloc(void *);
+IMP unsigned int neighparasetstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int neighparasetstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int neighcellpara2struct_bits(void *);
+IMP void neighcellpara2struct_alloc(void *);
+IMP void neighcellpara2struct_dealloc(void *);
+IMP unsigned int neighcellpara2struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int neighcellpara2struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_struct.h
new file mode 100644
index 0000000..9a129fa
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_psi_ie_struct.h
@@ -0,0 +1,214 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_psi_ie_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_psi_ie_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_PSI_IE_STRUCT_H
+#define _NSTD_PSI_IE_STRUCT_H
+
+/* Suggest Add for RHR */
+#include "meascell_struct.h"
+#include "rr_common_def.h"
+/* W1043 Suggest Add for RHR */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 bsic; /* BSIC part of cell selection structure in PSI3 case*/
+    cell_selection_struct cell_selection; /* cell selection struct*/
+} remain_cell_para_struct;
+
+typedef struct {
+    kal_uint16 startfreq; /* START FREQUENCY*/
+    kal_uint8 bsic; /* BSIC*/
+    cell_selection_struct cell_selection; /* CELL SELECTION STRUCTURE*/
+    kal_uint8 freq_diff_len; /* freq. diff length*/
+    kal_uint8 no_freq_diff;
+    kal_uint8 freq_diff_size;
+    kal_uint8 *freq_diff; /* freq. diff*/
+    kal_uint8 no_remain_cell_para;
+    kal_uint8 remain_cell_para_size;
+    remain_cell_para_struct *remain_cell_para; /* remaining cell params*/
+} neighcellparastruct;
+
+typedef struct {
+    kal_uint8 same_ra_as_serv_cell;
+    kal_uint8 cell_bar_access2;
+    kal_uint8 bcc;
+} remain_cell_para_struct2;
+
+typedef struct {
+    kal_uint16 startfreq; /* START FREQUENCY*/
+    kal_uint8 rasercell; /* SAME RA SERVING CELL*/
+    kal_uint8 cellbaracc; /* CELL BAR ACCESS*/
+    kal_uint8 bcc; /* BCC*/
+    kal_uint8 freq_diff_len; /* freq. diff length*/
+    kal_uint8 no_freq_diff;
+    kal_uint8 freq_diff_size;
+    kal_uint8 *freq_diff; /* freq. diff*/
+    kal_uint8 no_remain_cell_para2;
+    kal_uint8 remain_cell_para2_size;
+    remain_cell_para_struct2 *remain_cell_para2; /* remaining cell params*/
+} structure2;
+
+typedef struct {
+    unsigned int no_secondstruct;
+    unsigned int secondstruct_size;
+    structure2 *secondstruct;
+    kal_uint8 cellparaptr; /* CELL PARA PTR*/
+} structure1;
+
+typedef struct {
+    ispresent ch232_tag;
+    union {
+        kal_uint8 ncc;
+    } ch232_value;
+    kal_uint8 excacc; /* EXC ACC*/
+    ispresent ch233_tag;
+    union {
+        kal_uint8 rxlev;
+    } ch233_value;
+    ispresent ch234_tag;
+    union {
+        kal_uint8 mstxpwr;
+    } ch234_value;
+    ispresent ch235_tag;
+    union {
+        kal_uint8 priority;
+    } ch235_value;
+    ispresent ch236_tag;
+    union {
+        kal_uint8 hcthr;
+    } ch236_value;
+    ispresent ch237_tag;
+    union {
+        si_pbcch_struct si13pbcch;
+    } ch237_value;
+    kal_uint8 gprstempoff; /* GPRS TEMP OFFSET*/
+    kal_uint8 gprspentime; /* GPRS PENALTY TIME*/
+    kal_uint8 gprsoffset; /* GPRS RESELECT OFFSET*/
+} neighparasetstruct;
+
+typedef struct {
+    kal_uint8 generation; /* GENERATION*/
+    unsigned int no_firststruct;
+    unsigned int firststruct_size;
+    structure1 *firststruct;
+    kal_uint8 max_cell_para_ptr;
+    kal_uint8 no_neighparaset;
+    kal_uint8 neighparaset_size;
+    neighparasetstruct *neighparaset; /* NEIGHPARASET*/
+} neighcellpara2struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_si_9.h b/mcu/protocol/interface/asn/rr/include/nstd_si_9.h
new file mode 100644
index 0000000..cfabffa
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_si_9.h
@@ -0,0 +1,131 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_si_9.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _SI_9_H
+#define _SI_9_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+typedef enum {
+    INFO_TYPE_4 = 0x00,
+    INFO_TYPE_5 = 0x02,
+    INFO_TYPE_6 = 0x03
+} info_typeenum;
+
+#ifdef TOOL
+#include "set_nstd_si_9.h"
+#include "get_nstd_si_9.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_SI_9_H*/
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_si_9_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_si_9_pun.h
new file mode 100644
index 0000000..2da0be9
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_si_9_pun.h
@@ -0,0 +1,169 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_si_9_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_si_9_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_SI_9_PUN_H
+#define _NSTD_SI_9_PUN_H
+
+IMP unsigned int infotype_struct_bits(void *);
+IMP void infotype_struct_alloc(void *);
+IMP void infotype_struct_dealloc(void *);
+IMP unsigned int infotype_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int infotype_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int POSITION_bits(void *);
+IMP void POSITION_alloc(void *);
+IMP void POSITION_dealloc(void *);
+IMP unsigned int POSITION_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int POSITION_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int positions_struct_bits(void *);
+IMP void positions_struct_alloc(void *);
+IMP void positions_struct_dealloc(void *);
+IMP unsigned int positions_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int positions_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int SCHEDINFO_bits(void *);
+IMP void SCHEDINFO_alloc(void *);
+IMP void SCHEDINFO_dealloc(void *);
+IMP unsigned int SCHEDINFO_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int SCHEDINFO_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int schedinfo_struct_bits(void *);
+IMP void schedinfo_struct_alloc(void *);
+IMP void schedinfo_struct_dealloc(void *);
+IMP unsigned int schedinfo_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int schedinfo_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int SI_9_REST_OCT_bits(void *);
+IMP void SI_9_REST_OCT_alloc(void *);
+IMP void SI_9_REST_OCT_dealloc(void *);
+IMP unsigned int SI_9_REST_OCT_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int SI_9_REST_OCT_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_9_struct_bits(void *);
+IMP void si_9_struct_alloc(void *);
+IMP void si_9_struct_dealloc(void *);
+IMP unsigned int si_9_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_9_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_si_9_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_si_9_struct.h
new file mode 100644
index 0000000..3a6e2c1
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_si_9_struct.h
@@ -0,0 +1,174 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_si_9_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_si_9_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_SI_9_STRUCT_H
+#define _NSTD_SI_9_STRUCT_H
+
+/* Suggest Add for RHR */
+#include "nstd_si_9.h"
+#include "l3_inc_enums.h"
+#include "si_peer_struct.h"
+
+typedef struct {
+    info_typeenum ch_info_type_tag;
+    union {
+        kal_uint8 infotype4;
+        kal_uint8 infotype5;
+        kal_uint8 infotype6;
+    } ch_info_type_value;
+} infotype_struct;
+
+typedef struct {
+    kal_uint32 relpos_bits:4;
+    kal_uint16 relpos;
+    kal_uint8 bcchtype;
+} POSITION;
+
+typedef struct {
+    POSITION pos_1;
+    is_present_enum ch_position_tag;
+    union {
+        POSITION pos_2;
+    } ch_position_value;
+} positions_struct;
+
+typedef struct {
+    infotype_struct info;
+    positions_struct pos;
+} SCHEDINFO;
+
+typedef struct {
+    infotype_struct info;
+    positions_struct pos;
+    unsigned int no_schedule;
+    unsigned int schedule_size;
+    SCHEDINFO *schedule;
+} schedinfo_struct;
+
+typedef struct {
+    is_present_enum ch1_tag;
+    union {
+        schedinfo_struct schedulinginfo;
+    } ch1_value;
+} SI_9_REST_OCT;
+
+typedef struct {
+    si_9_part1of2_struct si9part1of2;
+    SI_9_REST_OCT si9part2of2;
+} si_9_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_spare_bit.h b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit.h
new file mode 100644
index 0000000..d87a926
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit.h
@@ -0,0 +1,119 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	nstd_spare_bit.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _SPARE_BIT_H_
+#define _SPARE_BIT_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#endif
+
+#ifdef TOOL
+#include "set_spare_bit.h"
+#include "get_spare_bit.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_pun.h b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_pun.h
new file mode 100644
index 0000000..85c427d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_pun.h
@@ -0,0 +1,137 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_spare_bit_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_spare_bit_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _NSTD_SPARE_BIT_PUN_H
+#define _NSTD_SPARE_BIT_PUN_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+#define SPARE_BIT_TYPE_size(x) 1
+IMP unsigned int SPARE_BIT_TYPE_bits(void *);
+IMP void SPARE_BIT_TYPE_alloc(void *);
+IMP void SPARE_BIT_TYPE_dealloc(void *);
+IMP unsigned int SPARE_BIT_TYPE_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int SPARE_BIT_TYPE_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_struct.h b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_struct.h
new file mode 100644
index 0000000..11cf6f0
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/nstd_spare_bit_struct.h
@@ -0,0 +1,128 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  nstd_spare_bit_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : nstd_spare_bit_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _NSTD_SPARE_BIT_STRUCT_H
+#define _NSTD_SPARE_BIT_STRUCT_H
+
+/*Evelyn: Remove redundant header and file */
+#include "kal_general_types.h"
+
+typedef struct {
+    kal_uint8 spare_bit;
+} SPARE_BIT_TYPE;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/ps_ho.h b/mcu/protocol/interface/asn/rr/include/ps_ho.h
new file mode 100644
index 0000000..653a92c
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/ps_ho.h
@@ -0,0 +1,53 @@
+/**************************************************************************
+ *                                                                        *
+ *  Copyright (c) 2001 Sasken Communication Technologies Limited (SASKEN) *
+ *  All Rights Reserved.                                                  *
+ *                                                                        *
+ *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SASKEN                 *
+ *  The above copyright notice does not evidence any actual or intended   *
+ *  publication of such source code.                                      *
+ *                                                                        *
+ **************************************************************************
+ *
+ *  FILE NAME:
+ *  SYNOPSIS :
+ *
+ */
+
+/* Evelyn 20090415: Merge R6 */
+
+#ifndef _PS_HO_H_
+#define _PS_HO_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#else
+#include "kal_public_api.h"
+#endif
+#include "nstd_alloc_bitmap.h"
+
+#include "nstd_pmo.h"
+#include "gprs_rlcmac_common.h"
+#include "gprs_rlcmac_dl.h"
+#include "gprs_rlcmac_ul.h"
+#include "gprs_mtbf.h"
+
+#include "ps_ho_struct.h"
+#include "ps_ho_pun.h"
+#include "error_struct_enum.h"
+
+#ifdef TOOL
+#include "set_nstd_alloc_bitmap.h"
+#include "get_nstd_alloc_bitmap.h"
+#include "set_ps_ho.h"
+#include "get_ps_ho.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/mcu/protocol/interface/asn/rr/include/ps_ho_pun.h b/mcu/protocol/interface/asn/rr/include/ps_ho_pun.h
new file mode 100644
index 0000000..8595774
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/ps_ho_pun.h
@@ -0,0 +1,94 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : ps_ho_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+
+ /* Evelyn 20090415: Merge R6 */
+
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _PS_HO_PUN_H
+#define _PS_HO_PUN_H
+#define rrc_container_ie_size(x) 1
+IMP unsigned int rrc_container_ie_bits(void *);
+IMP void rrc_container_ie_alloc(void *);
+IMP void rrc_container_ie_dealloc(void *);
+IMP unsigned int rrc_container_ie_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rrc_container_ie_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define nas_container_ie_size(x) 1
+IMP unsigned int nas_container_ie_bits(void *);
+IMP void nas_container_ie_alloc(void *);
+IMP void nas_container_ie_dealloc(void *);
+IMP unsigned int nas_container_ie_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nas_container_ie_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int global_and_extended_timing_adv_struct_bits(void *);
+IMP void global_and_extended_timing_adv_struct_alloc(void *);
+IMP void global_and_extended_timing_adv_struct_dealloc(void *);
+IMP unsigned int global_and_extended_timing_adv_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int global_and_extended_timing_adv_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_downlink_tbf_assign_struct_bits(void *);
+IMP void ps_ho_downlink_tbf_assign_struct_alloc(void *);
+IMP void ps_ho_downlink_tbf_assign_struct_dealloc(void *);
+IMP unsigned int ps_ho_downlink_tbf_assign_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_downlink_tbf_assign_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_edge_dl_struct_bits(void *);
+IMP void ps_ho_edge_dl_struct_alloc(void *);
+IMP void ps_ho_edge_dl_struct_dealloc(void *);
+IMP unsigned int ps_ho_edge_dl_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_edge_dl_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_edge_dl_exist_bits(void *);
+IMP void ps_ho_edge_dl_exist_alloc(void *);
+IMP void ps_ho_edge_dl_exist_dealloc(void *);
+IMP unsigned int ps_ho_edge_dl_exist_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_edge_dl_exist_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprs_mode_struct_bits(void *);
+IMP void gprs_mode_struct_alloc(void *);
+IMP void gprs_mode_struct_dealloc(void *);
+IMP unsigned int gprs_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int egprs_mode_struct_bits(void *);
+IMP void egprs_mode_struct_alloc(void *);
+IMP void egprs_mode_struct_dealloc(void *);
+IMP unsigned int egprs_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_radio_resource_struct_bits(void *);
+IMP void ps_ho_radio_resource_struct_alloc(void *);
+IMP void ps_ho_radio_resource_struct_dealloc(void *);
+IMP unsigned int ps_ho_radio_resource_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_radio_resource_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_to_geran_struct_bits(void *);
+IMP void ps_ho_to_geran_struct_alloc(void *);
+IMP void ps_ho_to_geran_struct_dealloc(void *);
+IMP unsigned int ps_ho_to_geran_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_to_geran_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ps_ho_command_struct_bits(void *);
+IMP void ps_ho_command_struct_alloc(void *);
+IMP void ps_ho_command_struct_dealloc(void *);
+IMP unsigned int ps_ho_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ps_ho_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
diff --git a/mcu/protocol/interface/asn/rr/include/ps_ho_struct.h b/mcu/protocol/interface/asn/rr/include/ps_ho_struct.h
new file mode 100644
index 0000000..c81a09d
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/ps_ho_struct.h
@@ -0,0 +1,182 @@
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : ps_ho_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+
+#include "kal_general_types.h"
+#include "rr_common_def.h"
+#include "gprs_rlcmac_dl_struct.h"
+#include "gprs_rlcmac_common_struct.h"
+
+ /* Evelyn 20090415: Merge R6 */
+
+#ifndef _PS_HO_STRUCT_H
+#define _PS_HO_STRUCT_H
+
+typedef struct {
+    kal_uint8 rrc_container_length; /* RRC CONTAINER OFFSET*/
+    kal_uint8* rrc_container_data;
+} rrc_container_ie;
+
+typedef struct {
+    kal_uint8 nas_container_offset; /* NAS CONTAINER OFFSET*/
+    kal_uint8 *nas_container_data; /* NAS CONTAINER OFFSET*/
+} nas_container_ie;
+
+typedef struct {
+    global_pkt_tim_adv_struct g_pkt_tim_adv; /* GLOBAL PACKET TIMING ADVANCE*/
+    ispresent extend_tim_adv_choice_tag;
+    union {
+        kal_uint8 p_extend_tim_adv;
+    } extend_tim_adv_choice_value;
+} global_and_extended_timing_adv_struct;
+
+typedef struct {
+    kal_uint8 timeslot_alloc; /* TIMESLOT ALLOCATION*/
+    ispresent pfi_choice_tag;
+    union {
+        kal_uint8 p_pfi;
+    } pfi_choice_value;
+    kal_uint8 rlc_mode; /* RLC MODE*/
+    kal_uint8 downlink_tfi; /* DOWN LINK TFI*/
+    kal_uint8 ctrl_ack; /* CONTROL ACK*/
+    egprs_window_size_struct egprs_window; /* EDGE Window Size*/
+} ps_ho_downlink_tbf_assign_struct;
+
+typedef struct {
+    egprs_window_size_struct egprs_window; /* EDGE Window Size*/
+    kal_uint8 link_quality_mode; /* LINK QUALITY MEASUREMENT MODE*/
+    ispresent bep_period_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period_choice_value;
+} ps_ho_edge_dl_struct;
+
+typedef struct {
+    ispresent ps_ho_edge_dl_choice_tag;
+    union {
+        ps_ho_edge_dl_struct p_ps_ho_edge_dl;
+    } ps_ho_edge_dl_choice_value;
+    unsigned int no_ps_ho_dl_tbf_assign;
+    unsigned int ps_ho_dl_tbf_assign_size;
+    ps_ho_downlink_tbf_assign_struct *ps_ho_dl_tbf_assign;
+} ps_ho_edge_dl_exist;
+
+typedef struct {
+    ispresent cs_choice_tag;
+    union {
+        kal_uint8 p_coding_scheme;
+    } cs_choice_value;
+    ispresent global_tn_choice_tag;
+    union {
+        timeslot_desc_struct p_global_tn;
+    } global_tn_choice_value;
+    unsigned int no_ps_ho_dl_tbf_assign;
+    unsigned int ps_ho_dl_tbf_assign_size;
+    ps_ho_downlink_tbf_assign_struct *ps_ho_dl_tbf_assign;
+} gprs_mode_struct;
+
+typedef struct {
+    ispresent egprs_window_size_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_window_size;
+    } egprs_window_size_choice_value;
+    ispresent egprs_cs_choice_tag;
+    union {
+        kal_uint8 p_global_egprs_cs;
+    } egprs_cs_choice_value;
+    ispresent bep_period_choice_tag;
+    union {
+        kal_uint8 p_bep_period2;
+    } bep_period_choice_value;
+    ispresent global_tn_choice_tag;
+    union {
+        timeslot_desc_struct p_global_tn;
+    } global_tn_choice_value;
+    ispresent dl_tbf_choice_tag;
+    union {
+        ps_ho_edge_dl_exist p_dl_tbf;
+    } dl_tbf_choice_value;
+} egprs_mode_struct;
+
+typedef struct {
+    ispresent ho_ref_choice_tag;
+    union {
+        kal_uint8 p_ho_ref;
+    } ho_ref_choice_value;
+    kal_uint16 arfcn; /* ARFCN*/
+    kal_uint8 si; /* SI*/
+    kal_uint8 nci; /* NCI*/
+    kal_uint8 BSIC; /* BSIC*/
+    ispresent ccn_active_choice_tag;
+    union {
+        kal_uint8 p_ccn_active;
+    } ccn_active_choice_value;
+    ispresent utran_ccn_active_choice_tag;
+    union {
+        // need modify
+        kal_uint8 p_3g_ccn_active;
+    } utran_ccn_active_choice_value;
+    ispresent ccn_desc_choice_tag;
+    union {
+        kal_uint8 p_ccn_desc;
+    } ccn_desc_choice_value;
+    freq_params_peer_struct freq_param; /* FREQUENCY PARAMETERS*/
+    kal_uint8 NCO; /* NETWORK CONTROL MODE*/
+    ispresent timing_adv_choice_tag;
+    union {
+        global_and_extended_timing_adv_struct p_timing_adv;
+    } timing_adv_choice_value;
+    kal_uint8 extended_da; /* EXTENDED DYNAMIC ALLOCATION*/
+    kal_uint8 rlc_reset; /* RLC_RESET*/
+    ispresent p0pr_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_choice_value;
+    ispresent ul_ctrl_tn_choice_tag;
+    union {
+        kal_uint8 p_ul_ctrl_tn;
+    } ul_ctrl_tn_choice_value;
+    ispresent tbf_mode_choice_tag;
+    union {
+        gprs_mode_struct a_gprs_mode;
+        egprs_mode_struct p_egprs_mode;
+    } tbf_mode_choice_value;
+} ps_ho_radio_resource_struct;
+
+typedef struct {
+    ispresent rr_info_choice_tag;
+    union {
+        ps_ho_radio_resource_struct rr_info;
+    } rr_info_choice_value;
+    ispresent nas_container_choice_tag;
+    union {
+        nas_container_ie p_nas_container;
+    } nas_container_choice_value;
+} ps_ho_to_geran_struct;
+
+typedef struct {
+    header_struct header; /* HEADER*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 page_mode; /* PAGE MODE*/
+    kal_uint8 msgesc1; /* MESSAGE ESCAPE*/
+    global_tfistruct global_tfi; /* GLOBAL TFI*/
+    kal_uint8 container_id; /* CONTAINER ID*/
+    ispresent ps_ho_dir_choise_tag;
+    union {
+        ps_ho_to_geran_struct ps_ho_to_geran;
+        rrc_container_ie ps_ho_to_utran;
+    } ps_ho_dir_choise_value;
+} ps_ho_command_struct;
+#endif 
diff --git a/mcu/protocol/interface/asn/rr/include/psipeer.h b/mcu/protocol/interface/asn/rr/include/psipeer.h
new file mode 100644
index 0000000..b4862eb
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/psipeer.h
@@ -0,0 +1,122 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	psipeer.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _PSI_PEER_H
+#define _PSI_PEER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+#ifdef TOOL
+#include "set_psipeer.h"
+#include "get_psipeer.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/psipeer_pun.h b/mcu/protocol/interface/asn/rr/include/psipeer_pun.h
new file mode 100644
index 0000000..54dd4c3
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/psipeer_pun.h
@@ -0,0 +1,401 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  psipeer_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : psipeer_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _PSIPEER_PUN_H
+#define _PSIPEER_PUN_H
+
+#define panstruct_size(x) 2
+IMP unsigned int panstruct_bits(void *);
+IMP void panstruct_alloc(void *);
+IMP void panstruct_dealloc(void *);
+IMP unsigned int panstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int panstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define egprs_params_struct_size(x) 1
+IMP unsigned int egprs_params_struct_bits(void *);
+IMP void egprs_params_struct_alloc(void *);
+IMP void egprs_params_struct_dealloc(void *);
+IMP unsigned int egprs_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int egprs_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int extensionstruct_bits(void *);
+IMP void extensionstruct_alloc(void *);
+IMP void extensionstruct_dealloc(void *);
+IMP unsigned int extensionstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int extensionstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprscelloptionsstruct_bits(void *);
+IMP void gprscelloptionsstruct_alloc(void *);
+IMP void gprscelloptionsstruct_dealloc(void *);
+IMP unsigned int gprscelloptionsstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprscelloptionsstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define perchseqstruct_size(x) 2
+IMP unsigned int perchseqstruct_bits(void *);
+IMP void perchseqstruct_alloc(void *);
+IMP void perchseqstruct_dealloc(void *);
+IMP unsigned int perchseqstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int perchseqstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pccchorgparamstruct_size(x) 2
+IMP unsigned int pccchorgparamstruct_bits(void *);
+IMP void pccchorgparamstruct_alloc(void *);
+IMP void pccchorgparamstruct_dealloc(void *);
+IMP unsigned int pccchorgparamstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pccchorgparamstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define sgsnr_mscr_struct_size(x) 1
+IMP unsigned int sgsnr_mscr_struct_bits(void *);
+IMP void sgsnr_mscr_struct_alloc(void *);
+IMP void sgsnr_mscr_struct_dealloc(void *);
+IMP unsigned int sgsnr_mscr_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sgsnr_mscr_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi1msg_bits(void *);
+IMP void psi1msg_alloc(void *);
+IMP void psi1msg_dealloc(void *);
+IMP unsigned int psi1msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi1msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cellidentificationstruct_size(x) 8
+IMP unsigned int cellidentificationstruct_bits(void *);
+IMP void cellidentificationstruct_alloc(void *);
+IMP void cellidentificationstruct_dealloc(void *);
+IMP unsigned int cellidentificationstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cellidentificationstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nongprscelloption_bits(void *);
+IMP void nongprscelloption_alloc(void *);
+IMP void nongprscelloption_dealloc(void *);
+IMP unsigned int nongprscelloption_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nongprscelloption_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int reffreqstruct_bits(void *);
+IMP void reffreqstruct_alloc(void *);
+IMP void reffreqstruct_dealloc(void *);
+IMP unsigned int reffreqstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int reffreqstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int reffreqliststruct_bits(void *);
+IMP void reffreqliststruct_alloc(void *);
+IMP void reffreqliststruct_dealloc(void *);
+IMP unsigned int reffreqliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int reffreqliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int cellallocationliststruct_bits(void *);
+IMP void cellallocationliststruct_alloc(void *);
+IMP void cellallocationliststruct_dealloc(void *);
+IMP unsigned int cellallocationliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cellallocationliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprsmobileallocationsstruct_bits(void *);
+IMP void gprsmobileallocationsstruct_alloc(void *);
+IMP void gprsmobileallocationsstruct_dealloc(void *);
+IMP unsigned int gprsmobileallocationsstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmobileallocationsstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprsmobileallocationsliststruct_bits(void *);
+IMP void gprsmobileallocationsliststruct_alloc(void *);
+IMP void gprsmobileallocationsliststruct_dealloc(void *);
+IMP unsigned int gprsmobileallocationsliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmobileallocationsliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define nonhoppingpcccchstruct_size(x) 3
+IMP unsigned int nonhoppingpcccchstruct_bits(void *);
+IMP void nonhoppingpcccchstruct_alloc(void *);
+IMP void nonhoppingpcccchstruct_dealloc(void *);
+IMP unsigned int nonhoppingpcccchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nonhoppingpcccchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nonhoppingpccchlist_bits(void *);
+IMP void nonhoppingpccchlist_alloc(void *);
+IMP void nonhoppingpccchlist_dealloc(void *);
+IMP unsigned int nonhoppingpccchlist_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nonhoppingpccchlist_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define hoppingpccchstruct_size(x) 2
+IMP unsigned int hoppingpccchstruct_bits(void *);
+IMP void hoppingpccchstruct_alloc(void *);
+IMP void hoppingpccchstruct_dealloc(void *);
+IMP unsigned int hoppingpccchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int hoppingpccchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int hoppingpccchlist_bits(void *);
+IMP void hoppingpccchlist_alloc(void *);
+IMP void hoppingpccchlist_dealloc(void *);
+IMP unsigned int hoppingpccchlist_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int hoppingpccchlist_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int mahoppingpccchlist_bits(void *);
+IMP void mahoppingpccchlist_alloc(void *);
+IMP void mahoppingpccchlist_dealloc(void *);
+IMP unsigned int mahoppingpccchlist_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mahoppingpccchlist_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pccchstruct_bits(void *);
+IMP void pccchstruct_alloc(void *);
+IMP void pccchstruct_dealloc(void *);
+IMP unsigned int pccchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pccchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pccchdesliststruct_bits(void *);
+IMP void pccchdesliststruct_alloc(void *);
+IMP void pccchdesliststruct_dealloc(void *);
+IMP unsigned int pccchdesliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pccchdesliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi2msg_bits(void *);
+IMP void psi2msg_alloc(void *);
+IMP void psi2msg_dealloc(void *);
+IMP unsigned int psi2msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi2msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int sercellparastruct_bits(void *);
+IMP void sercellparastruct_alloc(void *);
+IMP void sercellparastruct_dealloc(void *);
+IMP unsigned int sercellparastruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sercellparastruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gencellparastruct_bits(void *);
+IMP void gencellparastruct_alloc(void *);
+IMP void gencellparastruct_dealloc(void *);
+IMP unsigned int gencellparastruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gencellparastruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi3msg_bits(void *);
+IMP void psi3msg_alloc(void *);
+IMP void psi3msg_dealloc(void *);
+IMP unsigned int psi3msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi3msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define chgrpstruct_size(x) 2
+IMP unsigned int chgrpstruct_bits(void *);
+IMP void chgrpstruct_alloc(void *);
+IMP void chgrpstruct_dealloc(void *);
+IMP unsigned int chgrpstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int chgrpstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channelgroupstruct_bits(void *);
+IMP void channelgroupstruct_alloc(void *);
+IMP void channelgroupstruct_dealloc(void *);
+IMP unsigned int channelgroupstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int channelgroupstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi4msg_bits(void *);
+IMP void psi4msg_alloc(void *);
+IMP void psi4msg_dealloc(void *);
+IMP unsigned int psi4msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi4msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int nc_meas_para_struct_bits(void *);
+IMP void nc_meas_para_struct_alloc(void *);
+IMP void nc_meas_para_struct_dealloc(void *);
+IMP unsigned int nc_meas_para_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_meas_para_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi5msg_bits(void *);
+IMP void psi5msg_alloc(void *);
+IMP void psi5msg_dealloc(void *);
+IMP unsigned int psi5msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi5msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psimsgstruct_bits(void *);
+IMP void psimsgstruct_alloc(void *);
+IMP void psimsgstruct_dealloc(void *);
+IMP unsigned int psimsgstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psimsgstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int bcchcarstruct_bits(void *);
+IMP void bcchcarstruct_alloc(void *);
+IMP void bcchcarstruct_dealloc(void *);
+IMP unsigned int bcchcarstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int bcchcarstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pbcchdescstruct_bits(void *);
+IMP void pbcchdescstruct_alloc(void *);
+IMP void pbcchdescstruct_dealloc(void *);
+IMP unsigned int pbcchdescstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pbcchdescstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pwrcontparastruct_size(x) 3
+IMP unsigned int pwrcontparastruct_bits(void *);
+IMP void pwrcontparastruct_alloc(void *);
+IMP void pwrcontparastruct_dealloc(void *);
+IMP unsigned int pwrcontparastruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pwrcontparastruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int apbcchstruct_bits(void *);
+IMP void apbcchstruct_alloc(void *);
+IMP void apbcchstruct_dealloc(void *);
+IMP unsigned int apbcchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int apbcchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ppbcchstruct_bits(void *);
+IMP void ppbcchstruct_alloc(void *);
+IMP void ppbcchstruct_dealloc(void *);
+IMP unsigned int ppbcchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ppbcchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi13msg_bits(void *);
+IMP void psi13msg_alloc(void *);
+IMP void psi13msg_dealloc(void *);
+IMP unsigned int psi13msg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi13msg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psixstruct_bits(void *);
+IMP void psixstruct_alloc(void *);
+IMP void psixstruct_dealloc(void *);
+IMP unsigned int psixstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psixstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psimsgliststruct1_bits(void *);
+IMP void psimsgliststruct1_alloc(void *);
+IMP void psimsgliststruct1_dealloc(void *);
+IMP unsigned int psimsgliststruct1_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psimsgliststruct1_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psimsgliststruct_bits(void *);
+IMP void psimsgliststruct_alloc(void *);
+IMP void psimsgliststruct_dealloc(void *);
+IMP unsigned int psimsgliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psimsgliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int unpsimsgliststruct_bits(void *);
+IMP void unpsimsgliststruct_alloc(void *);
+IMP void unpsimsgliststruct_dealloc(void *);
+IMP unsigned int unpsimsgliststruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int unpsimsgliststruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pktpsistatus_bits(void *);
+IMP void pktpsistatus_alloc(void *);
+IMP void pktpsistatus_dealloc(void *);
+IMP unsigned int pktpsistatus_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pktpsistatus_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int psi3bismsg_bits(void *);
+IMP void psi3bismsg_alloc(void *);
+IMP void psi3bismsg_dealloc(void *);
+IMP unsigned int psi3bismsg_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int psi3bismsg_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/psipeer_struct.h b/mcu/protocol/interface/asn/rr/include/psipeer_struct.h
new file mode 100644
index 0000000..e535dd4
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/psipeer_struct.h
@@ -0,0 +1,547 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  psipeer_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : psipeer_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _PSIPEER_STRUCT_H
+#define _PSIPEER_STRUCT_H
+
+/* Suggest Add for RHR */
+#include "rr_common_def.h"
+#include "gprs_rlcmac_common_struct.h"
+#include "gprs_rlcmac_peer_struct.h"
+#include "gprs_rlcmac_dl_struct.h"
+#include "nstd_gprsmobileiestruct_struct.h"
+#include "meascell_struct.h"
+#include "nstd_psi_ie_struct.h"
+
+typedef struct {
+    kal_uint8 pan_dec; /* PAN_DEC*/
+    kal_uint8 pan_inc; /* PAN_INC*/
+    kal_uint8 pan_max; /* PAN_MAX*/
+} panstruct;
+
+typedef struct {
+    kal_uint8 egprs_pkt_channel_req; /* EGPRS PACKET CHANNEL REQUEST*/
+    kal_uint8 bep_period; /* BEP_PERIOD*/
+} egprs_params_struct;
+
+typedef struct {
+    kal_uint8 extension_len; /* EXTENSION LEN*/
+    ispresent egprs_info_choice_tag;
+    union {
+        egprs_params_struct p_egprs_info;
+    } egprs_info_choice_value;
+    kal_uint8 pfc_feature_mode; /* PFC FEATURE MODE*/
+    kal_uint8 DTM_support; /* DTM SUPPORT*/
+    kal_uint8 bss_paging_coord; /* BSS PAGING COORDINATION*/
+} extensionstruct;
+
+typedef struct {
+    kal_uint8 nmo; /* NMO*/
+    kal_uint8 t3168; /* T3168*/
+    kal_uint8 t3192; /* T3192*/
+    kal_uint8 drx_timer_max; /* DRX_TIMER_MAX*/
+    kal_uint8 access_burst_type; /* ACCESS_BURST_TYPE*/
+    kal_uint8 control_ack_type; /* CONTROL_ACK_TYPE*/
+    kal_uint8 bs_cv_max; /* BS_CV_MAX*/
+    ispresent ch201_tag;
+    union {
+        panstruct ppanstruct;
+    } ch201_value;
+    ispresent ch202_tag;
+    union {
+        extensionstruct pextension;
+    } ch202_value;
+} gprscelloptionsstruct;
+
+typedef struct {
+    kal_uint8 perslvlseq[4];
+} perchseqstruct;
+
+typedef struct {
+    kal_uint8 bspcc; /* BS_PCC_REL*/
+    kal_uint8 bspbcch; /* BS_PBCCH_BLKS*/
+    kal_uint8 bspag; /* BS_PAGE_BLKS_RES*/
+    kal_uint8 bsprach; /* BS_PRACH_BLKS*/
+} pccchorgparamstruct;
+
+typedef struct {
+    kal_uint8 mscr; /* 1*/
+    kal_uint8 sgsnr; /* 1*/
+} sgsnr_mscr_struct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* msgtype*/
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 pbcchchangemark; /* PBCCH CHANGE MARK*/
+    kal_uint8 psichangefield; /* PSI CHANGE FIELD*/
+    kal_uint8 psi1repeatfield; /* PSI1 REPEAT FIELD*/
+    kal_uint8 psicountlr; /* PSI COUNT LR*/
+    ispresent ch204_tag;
+    union {
+        kal_uint8 ppsicount;
+    } ch204_value;
+    kal_uint8 measurementorder; /* MEASUREMENT ORDER*/
+    gprscelloptionsstruct gprscelloptions; /* GPRS CELL OPTIONS*/
+    prach_ctrl_params_struct prachcontrolparam; /* PRACH CONTROL PARAMETERS*/
+    pccchorgparamstruct pccchorgparam; /* PRACH ORGANISATION PARAMETERS*/
+    global_pwr_ctrl_params_struct globalpowerctlpar; /* GLOBAL POWER CONTROL PARAMETERS*/
+    kal_uint8 psi_status_ind; /* PSI STATUS IND*/
+    ispresent chnwrel_tag;
+    union {
+        sgsnr_mscr_struct psgsnr;
+    } chnwrel_value;
+} psi1msg;
+
+typedef struct {
+    kal_uint8 location_area_identification[5];
+    kal_uint8 rac; /* ROUTING AREA CODE*/
+    kal_uint16 cell_identity; /* CELL IDENTITY*/
+} cellidentificationstruct;
+
+typedef struct {
+    kal_uint8 att; /* ATTACH/DETACH ALLOWED*/
+    ispresent ch205_tag;
+    union {
+        kal_uint8 pt3212;
+    } ch205_value;
+    kal_uint8 neci; /* HALF RATE SUPPORT*/
+    kal_uint8 pwrc; /* POWER CONTROL INDICATOR*/
+    kal_uint8 dtx; /* DTX INDICATOR*/
+    kal_uint8 radiolink_timeout; /* TIMER FOR RR CONNECTION*/
+    kal_uint8 bs_agblks_res; /* BLOCKS RESERVED FOR ACCESS
+       GRANT*/
+    kal_uint8 ccch_conf; /* CHANNELS CONFIGURATION FOR
+       CCCH*/
+    kal_uint8 bs_pa_mfrms; /* NO OF 51 M-FRAMES BETWEEN
+       PAGING*/
+    kal_uint8 max_retrans; /* MAX NO OF RETRANSMISSIONS*/
+    kal_uint8 tx_integer; /* NO OF SLOTS TO SPREAD TX*/
+    kal_uint8 ec; /* EMERGENCY CALL ALLOWED*/
+    kal_uint8 ms_tx_pwr; /* MAXIMUM TX POWER LEVEL*/
+    ispresent ch206_tag;
+    union {
+        extensionstruct pextension;
+    } ch206_value;
+} nongprscelloption;
+
+typedef struct {
+    kal_uint8 rfl_number; /* RFL NUMBER*/
+    kal_uint8 no_rfl_contents;
+    kal_uint8 rfl_contents_size;
+    kal_uint8 *rfl_contents; /* RFL CONTENTS*/
+} reffreqstruct;
+
+typedef struct {
+    unsigned int no_reffreqlist;
+    unsigned int reffreqlist_size;
+    reffreqstruct *reffreqlist;
+} reffreqliststruct;
+
+typedef struct {
+    unsigned int no_cellalloc;
+    unsigned int cellalloc_size;
+    kal_uint8 *cellalloc;
+} cellallocationliststruct;
+
+typedef struct {
+    kal_uint8 manumber; /* MANUMBER*/
+    gprsmobileiestruct gprsmobileie; /* GPRSMOBILEIESTRUCT*/
+} gprsmobileallocationsstruct;
+
+typedef struct {
+    unsigned int no_gprsmobile;
+    unsigned int gprsmobile_size;
+    gprsmobileallocationsstruct *gprsmobile;
+} gprsmobileallocationsliststruct;
+
+typedef struct {
+    kal_uint16 arfcn; /* ARFCN */
+    kal_uint8 timeslotalloc; /* TIMESLOT ALLOC*/
+} nonhoppingpcccchstruct;
+
+typedef struct {
+    unsigned int no_nh;
+    unsigned int nh_size;
+    nonhoppingpcccchstruct *nh;
+} nonhoppingpccchlist;
+
+typedef struct {
+    kal_uint8 maio; /* MAIO*/
+    kal_uint8 timeslotallocn; /* TIMESLOT ALLOCN*/
+} hoppingpccchstruct;
+
+typedef struct {
+    unsigned int no_h;
+    unsigned int h_size;
+    hoppingpccchstruct *h;
+} hoppingpccchlist;
+
+typedef struct {
+    kal_uint8 manumber; /* MA NUMBER */
+    hoppingpccchlist hoppingpccch; /* HOPPING PCCCH LIST*/
+} mahoppingpccchlist;
+
+typedef struct {
+    kal_uint8 tsc; /* TSC*/
+    ispresent ch210_tag;
+    union {
+        nonhoppingpccchlist anonhopping;
+        mahoppingpccchlist pnonhopping;
+    } ch210_value;
+} pccchstruct;
+
+typedef struct {
+    unsigned int no_pccchlist;
+    unsigned int pccchlist_size;
+    pccchstruct *pccchlist;
+} pccchdesliststruct;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* msgtype */
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 psi2changemark; /* PSI2 CHANGE MARK*/
+    kal_uint8 psi2index; /* PSI2 INDEX*/
+    kal_uint8 psi2count; /* PSI2 COUNT*/
+    ispresent ch211_tag;
+    union {
+        cellidentificationstruct p_cell_identification;
+    } ch211_value;
+    ispresent ch212_tag;
+    union {
+        nongprscelloption p_non_gprscell_options;
+    } ch212_value;
+    reffreqliststruct ref_freqlst;
+    cellallocationliststruct cell_allocation;
+    gprsmobileallocationsliststruct gprs_mobile_allocations;
+    pccchdesliststruct pccch_des;
+} psi2msg;
+
+typedef struct {
+    kal_uint8 cellbaracess; /* CELL BAR ACCESS 2*/
+    kal_uint8 excacc; /* EXC_ACC*/
+    kal_uint8 gprsmin; /* GPRS_RXLEV_ACCESS_MIN*/
+    kal_uint8 gprscch; /* GPRS MS TXPWR MAX CCH*/
+    ispresent ch213_tag;
+    union {
+        hcs_struct phcs;
+    } ch213_value;
+    kal_uint8 multi_band_reporting; /* MULTI BAND REPORTING*/
+} sercellparastruct;
+
+typedef struct {
+    kal_uint8 gprscellhys; /* GPRS CELL RESELECT HYSTERESIS*/
+    kal_uint8 chyst; /* C31 HYST*/
+    kal_uint8 cqual; /* C32 QUAL*/
+    kal_uint8 randomaccretry; /* RANDOM ACCESS RETRY*/
+    ispresent ch214_tag;
+    union {
+        kal_uint8 ptresel;
+    } ch214_value;
+    ispresent ch215_tag;
+    union {
+        kal_uint8 prahys;
+    } ch215_value;
+} gencellparastruct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* msgtype */
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 psi3chmark; /* PSI3 CHANGE MARK*/
+    kal_uint8 psi3biscount; /* PSI3 BSI COUNT*/
+    sercellparastruct sercellpara; /* SERVING CELL PARAMETERS*/
+    gencellparastruct gencellpara; /* GENERAL CELL SELECTION PARAMETER*/
+    unsigned int no_neighcellpara;
+    unsigned int neighcellpara_size;
+    neighcellparastruct *neighcellpara;
+} psi3msg;
+
+typedef struct {
+    kal_uint8 manumber; /* MA_NUMBER*/
+    kal_uint8 maio; /* MAIO*/
+} chgrpstruct;
+
+typedef struct {
+    ispresent ch222_tag;
+    union {
+        kal_uint16 arfcn;
+        chgrpstruct pchgrp;
+    } ch222_value;
+    kal_uint8 timeslotalloc; /* TIMESLOT ALLOCATION*/
+} channelgroupstruct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* MSGTYPE */
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 psi4chmark; /* PSI CHANGE MARK*/
+    kal_uint8 psi4index; /* PSI4_INDEX*/
+    kal_uint8 psi4count; /* PSI4_COUNT*/
+    channelgroupstruct chgrp;
+    unsigned int no_chlist;
+    unsigned int chlist_size;
+    channelgroupstruct *chlist;
+} psi4msg;
+
+typedef struct {
+    kal_uint8 nw_ctrl_order; /* NETWORK CONTROL ORDER*/
+    ispresent nc_list_choice_tag;
+    union {
+        nc_list_struct p_nc_list;
+    } nc_list_choice_value;
+} nc_meas_para_struct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* MSGTYPE */
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 psi5chmark; /* PSI CHANGE MARK*/
+    kal_uint8 psi5index; /* PSI5_INDEX*/
+    kal_uint8 psi5count; /* PSI5_COUNT*/
+    ispresent nc_meas_choice_tag;
+    union {
+        nc_meas_para_struct p_nc_meas_params;
+    } nc_meas_choice_value;
+    ispresent ext_meas_choice_tag;
+    union {
+        ext_meas_params_struct p_extmeas_params;
+    } ext_meas_choice_value;
+} psi5msg;
+
+typedef struct {
+    kal_uint8 si13chgmark; /* SI13 CHG MARK*/
+    gprsmobileiestruct gprsmoballocation; /* GPRS MOBILE ALLOC IE rr_gprs_mobile_alloc_peer_struct*/
+} psimsgstruct;
+
+typedef struct {
+    add_enum ch228_tag;
+    union {
+        kal_uint16 arfcn;
+        kal_uint8 maio;
+    } ch228_value;
+} bcchcarstruct;
+
+typedef struct {
+    kal_uint8 pb; /* pb*/
+    kal_uint8 tsc; /* TSC*/
+    kal_uint8 tn; /* TN*/
+    bcchcarstruct bcchcar; /* BCCHCARSTRUCT*/
+} pbcchdescstruct;
+
+typedef struct {
+    kal_uint8 alpha;
+    kal_uint8 tavgw;
+    kal_uint8 tavgt;
+    kal_uint8 pcmeaschan;
+    kal_uint8 navgi;
+} pwrcontparastruct;
+
+typedef struct {
+    kal_uint8 rac; /* RAC*/
+    kal_uint8 spgc_ccch_sup; /* SPGC CCCH SUP*/
+    kal_uint8 priacc_thr; /* PRIORITY ACC THR*/
+    kal_uint8 nwcontrolord; /* NW CONTROL ORDER*/
+    gprscelloptionsstruct gprscellopt; /* GPRS CELL OPTIONS*/
+    pwrcontparastruct powconpara; /* PWRCONPARASTRUCT*/
+} apbcchstruct;
+
+typedef struct {
+    kal_uint8 psi1_rep_per; /* PSI1 REPEAT PERIOD*/
+    pbcchdescstruct pbcch; /* PBCCHDESCSTRUCT*/
+} ppbcchstruct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* MSGTYPE */
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 bcch_chg_mark; /* BCCH CHG MARK*/
+    kal_uint8 sichgfield; /* SI CHG FIELD*/
+    ispresent ch229_tag;
+    union {
+        psimsgstruct ppsi13;
+    } ch229_value;
+    ispresent ch230_tag;
+    union {
+        apbcchstruct apbcch;
+        ppbcchstruct ppbcch;
+    } ch230_value;
+    ispresent sgsnr_choice_tag;
+    union {
+        kal_uint8 psgsnr;
+    } sgsnr_choice_value;
+} psi13msg;
+
+typedef struct {
+    kal_uint8 psixct;
+    kal_uint8 no_instbitmap;
+    kal_uint8 instbitmap_size;
+    kal_uint8 *instbitmap;
+} psixstruct;
+
+typedef struct {
+    kal_uint8 messagtype;
+    kal_uint8 psixchmk; /* PSIX CHANGE MARK*/
+    ispresent ch231_tag;
+    union {
+        psixstruct psix;
+    } ch231_value;
+} psimsgliststruct1;
+
+typedef struct {
+    unsigned int no_psimsg;
+    unsigned int psimsg_size;
+    psimsgliststruct1 *psimsg;
+    kal_uint8 addmsgtype; /* ADDTIONAL MSG TYPE*/
+} psimsgliststruct;
+
+typedef struct {
+    unsigned int no_mesgtype;
+    unsigned int mesgtype_size;
+    kal_uint8 *mesgtype;
+    kal_uint8 addmsgtype; /* ADDITIONAL MSG TYPE*/
+} unpsimsgliststruct;
+
+typedef struct {
+    header_struct header; /* HEADERSTRUCT*/
+    kal_uint8 msgtype; /* MSGTYPE */
+    kal_uint8 messtype; /* MESSAGE TYPE*/
+    global_tfistruct globaltfi; /* GLOBALTFI*/
+    kal_uint8 pbcchchmk; /* PBCCH CHANGE MARK*/
+    unsigned int no_rpsimsglist;
+    unsigned int rpsimsglist_size;
+    psimsgliststruct *rpsimsglist;
+    unpsimsgliststruct unpsimsglist; /* UNPSIMSGLST STRUCT*/
+} pktpsistatus;
+
+typedef struct {
+    header_struct header; /* HEADER STRUCT*/
+    kal_uint8 msgtype; /* MSG TYPE*/
+    kal_uint8 pagemode; /* PAGE MODE*/
+    kal_uint8 psi3chmk; /* PS3 CH MARK*/
+    kal_uint8 psi3bisind; /* PSI3 BIS INDEX*/
+    kal_uint8 psi3biscnt; /* PSI3 BIS COUNT*/
+    unsigned int no_neighcellpara1;
+    unsigned int neighcellpara1_size;
+    neighcellparastruct *neighcellpara1;
+    unsigned int no_neighcellpara2;
+    unsigned int neighcellpara2_size;
+    neighcellpara2struct *neighcellpara2;
+} psi3bismsg;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer.h b/mcu/protocol/interface/asn/rr/include/rmc_peer.h
new file mode 100644
index 0000000..5b8bdfb
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer.h
@@ -0,0 +1,135 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	rmc_peer.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef RMC_PEER_H
+#define RMC_PEER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+typedef enum {
+  NOBAND = 0,
+  BAND1 = 1,
+  BAND2 = 2,
+  BAND23 = 6,
+  BAND3 = 4,
+  BAND13 = 5
+} multi_band_enum;
+
+
+#ifdef TOOL
+#include "set_rmc_peer.h"
+#include "get_rmc_peer.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RMC_PEER_H */
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer_dl.h b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl.h
new file mode 100644
index 0000000..2a53fd1
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl.h
@@ -0,0 +1,155 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	rmc_peer_dl.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef RMC_PEER_DL_H
+#define RMC_PEER_DL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+
+typedef enum {
+  absent = 0,
+  present = 1
+
+} enum_is_present;
+
+typedef enum {
+  non_hop_or_indirect_enc_type = 0,
+  direct_enc_type = 1
+
+} chan_config;
+
+typedef enum {
+  binary_zero = 0x0,
+  binary_one = 0x1,
+  binary_second_one = 0x1,
+  binary_two = 0x2,
+  binary_three = 0x3,
+  binary_four = 0x4,
+  binary_five = 0x5,
+  binary_six = 0x6,
+  binary_seven = 0x7,
+  binary_eight = 0x8,
+  binary_nine = 0x9,
+  binary_ten = 0xa,
+  binary_eleven = 0xb,
+  binary_twelve = 0xc,
+  binary_thirteen = 0xd
+
+} chan_asgn_type;
+
+
+#ifdef TOOL
+#include "set_rmc_peer_dl.h"
+#include "get_rmc_peer_dl.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* RMC_PEER_DL_H */
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_pun.h b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_pun.h
new file mode 100644
index 0000000..81ffb23
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_pun.h
@@ -0,0 +1,278 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  rmc_peer_dl_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : rmc_peer_dl_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _RMC_PEER_DL_PUN_H
+#define _RMC_PEER_DL_PUN_H
+
+IMP unsigned int rr_packet_downlink_struct_bits(void *);
+IMP void rr_packet_downlink_struct_alloc(void *);
+IMP void rr_packet_downlink_struct_dealloc(void *);
+IMP unsigned int rr_packet_downlink_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_packet_downlink_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pdch_dynamic_alloc_struct_bits(void *);
+IMP void pdch_dynamic_alloc_struct_alloc(void *);
+IMP void pdch_dynamic_alloc_struct_dealloc(void *);
+IMP unsigned int pdch_dynamic_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pdch_dynamic_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pdch_single_blk_alloc_struct_bits(void *);
+IMP void pdch_single_blk_alloc_struct_alloc(void *);
+IMP void pdch_single_blk_alloc_struct_dealloc(void *);
+IMP unsigned int pdch_single_blk_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pdch_single_blk_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pdch_fixed_alloc_struct_bits(void *);
+IMP void pdch_fixed_alloc_struct_alloc(void *);
+IMP void pdch_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int pdch_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pdch_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_packet_uplink_struct_bits(void *);
+IMP void rr_packet_uplink_struct_alloc(void *);
+IMP void rr_packet_uplink_struct_dealloc(void *);
+IMP unsigned int rr_packet_uplink_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_packet_uplink_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_start_time_struct_size(x) 2
+IMP unsigned int rmc_start_time_struct_bits(void *);
+IMP void rmc_start_time_struct_alloc(void *);
+IMP void rmc_start_time_struct_dealloc(void *);
+IMP unsigned int rmc_start_time_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_start_time_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int starting_time_bits(void *);
+IMP void starting_time_alloc(void *);
+IMP void starting_time_dealloc(void *);
+IMP unsigned int starting_time_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int starting_time_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_p0_pwr_cntrl_mode_struct_size(x) 1
+IMP unsigned int rmc_p0_pwr_cntrl_mode_struct_bits(void *);
+IMP void rmc_p0_pwr_cntrl_mode_struct_alloc(void *);
+IMP void rmc_p0_pwr_cntrl_mode_struct_dealloc(void *);
+IMP unsigned int rmc_p0_pwr_cntrl_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_p0_pwr_cntrl_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_single_block_alloc_struct_bits(void *);
+IMP void rmc_single_block_alloc_struct_alloc(void *);
+IMP void rmc_single_block_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_single_block_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_single_block_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_p0_pr_mode_struct_size(x) 1
+IMP unsigned int rmc_p0_pr_mode_struct_bits(void *);
+IMP void rmc_p0_pr_mode_struct_alloc(void *);
+IMP void rmc_p0_pr_mode_struct_dealloc(void *);
+IMP unsigned int rmc_p0_pr_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_p0_pr_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_dyn_alloc_struct_bits(void *);
+IMP void rmc_dyn_alloc_struct_alloc(void *);
+IMP void rmc_dyn_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_dyn_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_dyn_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_fixed_alloc_struct_bits(void *);
+IMP void rmc_fixed_alloc_struct_alloc(void *);
+IMP void rmc_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_dyn_or_fixed_alloc_struct_bits(void *);
+IMP void rmc_dyn_or_fixed_alloc_struct_alloc(void *);
+IMP void rmc_dyn_or_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_dyn_or_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_dyn_or_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_pkt_ul_asgn_struct_bits(void *);
+IMP void rmc_pkt_ul_asgn_struct_alloc(void *);
+IMP void rmc_pkt_ul_asgn_struct_dealloc(void *);
+IMP unsigned int rmc_pkt_ul_asgn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_pkt_ul_asgn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __EGPRS_MODE__
+IMP unsigned int rmc_multi_blk_alloc_struct_bits(void *);
+IMP void rmc_multi_blk_alloc_struct_alloc(void *);
+IMP void rmc_multi_blk_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_multi_blk_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_multi_blk_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_egprs_mod_and_coding_struct_size(x) 1
+IMP unsigned int rmc_egprs_mod_and_coding_struct_bits(void *);
+IMP void rmc_egprs_mod_and_coding_struct_alloc(void *);
+IMP void rmc_egprs_mod_and_coding_struct_dealloc(void *);
+IMP unsigned int rmc_egprs_mod_and_coding_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_egprs_mod_and_coding_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_egprs_window_size_struct_size(x) 1
+IMP unsigned int rmc_egprs_window_size_struct_bits(void *);
+IMP void rmc_egprs_window_size_struct_alloc(void *);
+IMP void rmc_egprs_window_size_struct_dealloc(void *);
+IMP unsigned int rmc_egprs_window_size_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_egprs_window_size_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_egprs_dyn_or_fixed_alloc_struct_bits(void *);
+IMP void rmc_egprs_dyn_or_fixed_alloc_struct_alloc(void *);
+IMP void rmc_egprs_dyn_or_fixed_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_egprs_dyn_or_fixed_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_egprs_dyn_or_fixed_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_egprs_pkt_ul_asgn_struct_bits(void *);
+IMP void rmc_egprs_pkt_ul_asgn_struct_alloc(void *);
+IMP void rmc_egprs_pkt_ul_asgn_struct_dealloc(void *);
+IMP unsigned int rmc_egprs_pkt_ul_asgn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_egprs_pkt_ul_asgn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif
+
+
+IMP unsigned int rmc_freq_params_with_length_struct_bits(void *);
+IMP void rmc_freq_params_with_length_struct_alloc(void *);
+IMP void rmc_freq_params_with_length_struct_dealloc(void *);
+IMP unsigned int rmc_freq_params_with_length_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_freq_params_with_length_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_rlc_mode_alpha_gamma_struct_bits(void *);
+IMP void rmc_rlc_mode_alpha_gamma_struct_alloc(void *);
+IMP void rmc_rlc_mode_alpha_gamma_struct_dealloc(void *);
+IMP unsigned int rmc_rlc_mode_alpha_gamma_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_rlc_mode_alpha_gamma_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_pkt_dl_asgn_struct_bits(void *);
+IMP void rmc_pkt_dl_asgn_struct_alloc(void *);
+IMP void rmc_pkt_dl_asgn_struct_dealloc(void *);
+IMP unsigned int rmc_pkt_dl_asgn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_pkt_dl_asgn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *, kal_uint8);
+
+IMP unsigned int iarest_octets_bits(void *);
+IMP void iarest_octets_alloc(void *);
+IMP void iarest_octets_dealloc(void *);
+IMP unsigned int iarest_octets_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int iarest_octets_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_struct.h b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_struct.h
new file mode 100644
index 0000000..510b69e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer_dl_struct.h
@@ -0,0 +1,500 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  rmc_peer_dl_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : rmc_peer_dl_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _RMC_PEER_DL_STRUCT_H
+#define _RMC_PEER_DL_STRUCT_H
+
+#ifdef __PS_SERVICE__
+#include "gprs_rlcmac_dl_struct.h"
+#endif
+#include "rmc_peer_dl.h"
+#include "rr_common_def.h"
+#include "nstd_alloc_bitmap_struct.h"
+#include "rr_spare_bit.h"
+
+#ifdef __PS_SERVICE__
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 mac_mode;
+    kal_uint8 rlc_mode;
+    kal_uint8 timeslot_alloc;
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    enum_is_present p0pr_choice_tag;
+    union {
+        bts_mode_struct p0pwr_mode;
+    } p0pr_choice_value;
+    enum_is_present pwr_ctrl_param_choice_tag;
+    union {
+        pwr_ctrl_params_peer_struct p_power_ctrl_param_value;
+    } pwr_ctrl_param_choice_value;
+    enum_is_present downlink_choice_tag;
+    union {
+        kal_uint8 downlink_assignment;
+    } downlink_choice_value;
+    enum_is_present meas_map_choice_tag;
+    union {
+        meas_map_peer_struct p_measurement_map;
+    } meas_map_choice_value;
+    enum_is_present pkt_choice_tag;
+    union {
+        kal_uint8 pkttime_advance;
+    } pkt_choice_value;
+} rr_packet_downlink_struct;
+
+typedef struct {
+    kal_uint8 extended_dyn_alloc; /* EXT DYNAMIC ALLOCATION*/
+    enum_is_present p0pr_mode_choice_tag;
+    union {
+        p0pr_mode_struct p_p0pr;
+    } p0pr_mode_choice_value;
+    kal_uint8 usf_granularity; /* USF GRANULARITY*/
+    enum_is_present tfi_assignment_choice_tag;
+    union {
+        kal_uint8 p_tfi_assignment;
+    } tfi_assignment_choice_value;
+    enum_is_present rlc_blks_granted_choice_tag;
+    union {
+        kal_uint8 p_rlc_blks_granted;
+    } rlc_blks_granted_choice_value;
+    enum_is_present time_slot_pwr_ctrl_choice_tag;
+    union {
+        time_slot_alloc_struct a_time_slot_alloc;
+        time_slot_pwr_ctrl_alloc_struct p_time_slot_alloc;
+    } time_slot_pwr_ctrl_choice_value;
+} pdch_dynamic_alloc_struct;
+
+typedef struct {
+    kal_uint8 time_slot_no; /* TIME SLOT NUMBER*/
+    enum_is_present alpha_gamma_choice_tag;
+    union {
+        alpha_gamma_struct p_alpha_gamma;
+    } alpha_gamma_choice_value;
+    enum_is_present pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+} pdch_single_blk_alloc_struct;
+
+typedef struct {
+    enum_is_present up_link_tfichoice_tag;
+    union {
+        kal_uint8 p_uplink_tfi_assgn;
+    } up_link_tfichoice_value;
+    kal_uint8 final_allocation; /* FINAL ALLOCATION*/
+    kal_uint8 down_link_ctrl_time_slot; /* DOWN LINK CONTROL TIME SLOT*/
+    enum_is_present pwr_ctrl_mode_choice_tag;
+    union {
+        bts_mode_struct p_pwr_ctrl_mode;
+    } pwr_ctrl_mode_choice_value;
+    ispresent pwr_ctrl_time_slot_choice_tag;
+    union {
+        kal_uint8 a_time_slot_allocation;
+        pwr_ctrl_params_peer_struct p_pwr_ctrl_params;
+    } pwr_ctrl_time_slot_choice_value;
+    kal_uint8 half_duplex_mode; /* HALF DUPLEX MODE*/
+    kal_uint8 msgesc; /* MESSAGE ESCAPE*/
+    alloc_struct alloc_bit_map; /* ALLOCATION BITMAP*/
+} pdch_fixed_alloc_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 ch_coding_command;
+    kal_uint8 tlli_block_ch_coding;
+    pkt_timing_advance_struct pkt_time_adv_value; /* PACKET TIMING ADVANCE STRUCTURE*/
+    challoc_enum alloc_type_choice_tag;
+    union {
+        pdch_dynamic_alloc_struct dynamic_alloc;
+        pdch_single_blk_alloc_struct single_blk_alloc;
+        pdch_fixed_alloc_struct fixed_alloc;
+    } alloc_type_choice_value;
+    enum_is_present time_choice_tag;
+    union {
+        kal_uint8 packet_ext_time_advance;
+    } time_choice_value;
+} rr_packet_uplink_struct;
+
+#endif
+typedef struct {
+    kal_uint8 t1;
+    kal_uint8 t3;
+    kal_uint8 t2;
+} rmc_start_time_struct;
+
+typedef struct {
+    kal_uint8 start_time_structP;
+    rmc_start_time_struct start_time_struct;
+} starting_time;
+
+#ifdef __PS_SERVICE__
+typedef struct {
+    kal_uint8 p0;
+    kal_uint8 bts_pwr_cntrl_mode;
+    kal_uint8 pr_mode;
+} rmc_p0_pwr_cntrl_mode_struct;
+
+typedef struct {
+    enum_is_present alpha_tag;
+    union {
+        kal_uint8 alpha;
+    } alpha_value;
+    kal_uint8 gamma;
+    kal_uint8 control_bits; /* always set to 01 for compatibility with
+                                      rel '97.*/
+    rmc_start_time_struct tbf_start_time;
+    rr_spare_bit_enum pwr_cntrl_mode_tag;
+    union {
+        rmc_p0_pwr_cntrl_mode_struct pwr_cntrl_mode;
+    } pwr_cntrl_mode_value;
+} rmc_single_block_alloc_struct;
+
+typedef struct {
+    kal_uint8 p0;
+    kal_uint8 pr_mode;
+} rmc_p0_pr_mode_struct;
+
+typedef struct {
+    kal_uint8 usf;
+    kal_uint8 usf_gran;
+    enum_is_present p0pr_mode_tag;
+    union {
+        rmc_p0_pr_mode_struct p0pr_mode;
+    } p0pr_mode_value;
+} rmc_dyn_alloc_struct;
+
+typedef struct {
+    kal_uint32 alloc_bit_map_bits:5;
+    kal_uint32 alloc_bit_map;
+    enum_is_present p0pwr_cntrl_mode_tag;
+    union {
+        rmc_p0_pwr_cntrl_mode_struct p0pwr_cntrl_mode;
+    } p0pwr_cntrl_mode_value;
+} rmc_fixed_alloc_struct;
+
+typedef struct {
+    kal_uint8 tfi_assign;
+    kal_uint8 polling;
+    enum_is_present alloc_info_tag;
+    union {
+        rmc_dyn_alloc_struct dyn;
+        rmc_fixed_alloc_struct fixed;
+    } alloc_info_value;
+    kal_uint8 chan_coding_command;
+    kal_uint8 tlli_blk_chan_coding;
+    enum_is_present alpha_tag;
+    union {
+        kal_uint8 alpha;
+    } alpha_value;
+    kal_uint8 gamma;
+    enum_is_present timing_adv_tag;
+    union {
+        kal_uint8 timing_adv_index;
+    } timing_adv_value;
+    enum_is_present tbf_start_time_tag;
+    union {
+        rmc_start_time_struct tbf_start_time;
+    } tbf_start_time_value;
+} rmc_dyn_or_fixed_alloc_struct;
+
+typedef struct {
+    enum_is_present alloc_info_tag;
+    union {
+        rmc_single_block_alloc_struct single_blk_alloc;
+        rmc_dyn_or_fixed_alloc_struct dyn_or_fixed_alloc;
+    } alloc_info_value;
+} rmc_pkt_ul_asgn_struct;
+
+#ifdef __EGPRS_MODE__
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct {
+    enum_is_present ch1_tag;
+    union {
+        kal_uint8 alpha;
+    } ch1_value;
+    kal_uint8 gamma;
+    rmc_start_time_struct tbf_start_time;
+    kal_uint8 no_of_blks_alloc;
+    enum_is_present ch2_tag;
+    union {
+        rmc_p0_pwr_cntrl_mode_struct p0;
+    } ch2_value;
+} rmc_multi_blk_alloc_struct;
+
+typedef struct {
+    kal_uint8 mod_and_coding_scheme;
+} rmc_egprs_mod_and_coding_struct;
+
+typedef struct {
+    kal_uint8 window_size;
+} rmc_egprs_window_size_struct;
+
+typedef struct {
+    kal_uint8 tfi_assign;
+    kal_uint8 polling;
+    enum_is_present ch1_tag;
+    union {
+        rmc_dyn_alloc_struct dyn;
+        rmc_fixed_alloc_struct fixed;
+    } ch1_value;
+    rmc_egprs_mod_and_coding_struct chan_coding_command;
+    kal_uint8 tlli_blk_chan_coding;
+    enum_is_present ch2_tag;
+    union {
+        kal_uint8 bep_period2;
+    } ch2_value;
+    kal_uint8 resegment;
+    rmc_egprs_window_size_struct window_size;
+    enum_is_present ch3_tag;
+    union {
+        kal_uint8 alpha;
+    } ch3_value;
+    kal_uint8 gamma;
+    enum_is_present ch4_tag;
+    union {
+        kal_uint8 timing_adv;
+    } ch4_value;
+    enum_is_present ch5_tag;
+    union {
+        rmc_start_time_struct tbf_start_time;
+    } ch5_value;
+} rmc_egprs_dyn_or_fixed_alloc_struct;
+
+typedef struct {
+    /* Claire 041217 change : Solve IA EGPRS PUAS unpack missing extended_ra bug */
+    kal_uint8 extended_ra;    
+    enum_is_present ch1_tag;
+    union {
+        rmc_access_tech_req_struct access_tech_req;
+    } ch1_value;
+    enum_is_present ch2_tag;
+    union {
+        rmc_multi_blk_alloc_struct multi_blk_alloc;
+        rmc_egprs_dyn_or_fixed_alloc_struct egprs_dyn_or_fixed_alloc;
+    } ch2_value;
+} rmc_egprs_pkt_ul_asgn_struct;
+
+#endif
+
+typedef struct {
+    kal_uint8 no_freq_params;
+    kal_uint8 freq_params_size;
+    kal_uint8 *freq_params; /* the first six bits indicate the
+                                        length which could be anywhere
+                                        between 0 and 61. the lease
+                                        significant 6 bits of the first octet
+                                        that follows the length bits is 
+                                        the MAIO field.*/
+} rmc_freq_params_with_length_struct;
+
+typedef struct {
+    kal_uint8 tfi_assign;
+    kal_uint8 rlc_mode;
+    enum_is_present ch1_tag;
+    union {
+        kal_uint8 alpha;
+    } ch1_value;
+    kal_uint8 gamma;
+    kal_uint8 polling;
+    kal_uint8 ta_valid;
+} rmc_rlc_mode_alpha_gamma_struct;
+
+/* Claire 041127 change : Correct rmc_pkt_dl_asgn_struct pack unpack bug */
+#ifdef __EGPRS_MODE__
+typedef struct {
+    kal_uint32 tlli;
+    enum_is_present rlc_mode_tag;
+    union {
+        rmc_rlc_mode_alpha_gamma_struct rlc_mode_pwr_cntrl;
+    } rlc_mode_value;
+    enum_is_present timing_adv_tag;
+    union {
+        kal_uint8 timing_adv_index;
+    } timing_adv_value;
+    enum_is_present tbf_start_time_tag;
+    union {
+        rmc_start_time_struct tbf_start_time;
+    } tbf_start_time_value;
+    enum_is_present pwr_cntrl_tag;
+    union {
+        rmc_p0_pwr_cntrl_mode_struct p0pwr_cntrl_mode;
+    } pwr_cntrl_value;
+    enum_is_present egprs_ws_link_quality_choice_tag;
+    union {
+        egprsws_link_quality p_egprs_ws_link_quality;
+    } egprs_ws_link_quality_choice_value;
+ } rmc_pkt_dl_asgn_struct;
+
+#else
+typedef struct {
+    kal_uint32 tlli;
+    enum_is_present rlc_mode_tag;
+    union {
+        rmc_rlc_mode_alpha_gamma_struct rlc_mode_pwr_cntrl;
+    } rlc_mode_value;
+    enum_is_present timing_adv_tag;
+    union {
+        kal_uint8 timing_adv_index;
+    } timing_adv_value;
+    enum_is_present tbf_start_time_tag;
+    union {
+        rmc_start_time_struct tbf_start_time;
+    } tbf_start_time_value;
+    enum_is_present pwr_cntrl_tag;
+    union {
+        rmc_p0_pwr_cntrl_mode_struct p0pwr_cntrl_mode;
+    } pwr_cntrl_value;
+} rmc_pkt_dl_asgn_struct;
+#endif
+
+#ifdef __EGPRS_MODE__
+typedef struct {
+    chan_asgn_type chan_asgn_tag;
+    union {
+        rmc_egprs_pkt_ul_asgn_struct egprs_pkt_ul_asgn;
+        rmc_freq_params_with_length_struct freq_params;
+        rmc_pkt_ul_asgn_struct pkt_ul_asgn;
+        rmc_pkt_dl_asgn_struct pkt_dl_asgn;
+    } chan_asgn_value;
+} iarest_octets;
+#else
+typedef struct {
+    chan_asgn_type chan_asgn_tag;
+    union {
+        rmc_freq_params_with_length_struct freq_params;
+        rmc_pkt_ul_asgn_struct pkt_ul_asgn;
+        rmc_pkt_dl_asgn_struct pkt_dl_asgn;
+    } chan_asgn_value;
+} iarest_octets;
+#endif 
+#endif   //simon
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer_pun.h b/mcu/protocol/interface/asn/rr/include/rmc_peer_pun.h
new file mode 100644
index 0000000..650835b
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer_pun.h
@@ -0,0 +1,746 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  rmc_peer_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : rmc_peer_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _RMC_PEER_PUN_H
+#define _RMC_PEER_PUN_H
+
+#define spare_and_arfcn_struct_size(x) 2
+IMP unsigned int spare_and_arfcn_struct_bits(void *);
+IMP void spare_and_arfcn_struct_alloc(void *);
+IMP void spare_and_arfcn_struct_dealloc(void *);
+IMP unsigned int spare_and_arfcn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int spare_and_arfcn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define maio_and_hsn_struct_size(x) 2
+IMP unsigned int maio_and_hsn_struct_bits(void *);
+IMP void maio_and_hsn_struct_alloc(void *);
+IMP void maio_and_hsn_struct_dealloc(void *);
+IMP unsigned int maio_and_hsn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int maio_and_hsn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int chan_desc_struct_bits(void *);
+IMP void chan_desc_struct_alloc(void *);
+IMP void chan_desc_struct_dealloc(void *);
+IMP unsigned int chan_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int chan_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_maio_struct_bits(void *);
+IMP void rmc_maio_struct_alloc(void *);
+IMP void rmc_maio_struct_dealloc(void *);
+IMP unsigned int rmc_maio_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_maio_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define arfcn_struct_size(x) 2
+IMP unsigned int arfcn_struct_bits(void *);
+IMP void arfcn_struct_alloc(void *);
+IMP void arfcn_struct_dealloc(void *);
+IMP unsigned int arfcn_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcn_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int non_hop_or_indirect_enc_struct_bits(void *);
+IMP void non_hop_or_indirect_enc_struct_alloc(void *);
+IMP void non_hop_or_indirect_enc_struct_dealloc(void *);
+IMP unsigned int non_hop_or_indirect_enc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int non_hop_or_indirect_enc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define direct_enc_struct_size(x) 2
+IMP unsigned int direct_enc_struct_bits(void *);
+IMP void direct_enc_struct_alloc(void *);
+IMP void direct_enc_struct_dealloc(void *);
+IMP unsigned int direct_enc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int direct_enc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pkt_chan_desc_struct_bits(void *);
+IMP void pkt_chan_desc_struct_alloc(void *);
+IMP void pkt_chan_desc_struct_dealloc(void *);
+IMP unsigned int pkt_chan_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pkt_chan_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define m_timing_advance_struct_size(x) 1
+IMP unsigned int m_timing_advance_struct_bits(void *);
+IMP void m_timing_advance_struct_alloc(void *);
+IMP void m_timing_advance_struct_dealloc(void *);
+IMP unsigned int m_timing_advance_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int m_timing_advance_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_request_reference_struct_size(x) 3
+IMP unsigned int rmc_request_reference_struct_bits(void *);
+IMP void rmc_request_reference_struct_alloc(void *);
+IMP void rmc_request_reference_struct_dealloc(void *);
+IMP unsigned int rmc_request_reference_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_request_reference_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rmc_mobile_alloc_struct_bits(void *);
+IMP void rmc_mobile_alloc_struct_alloc(void *);
+IMP void rmc_mobile_alloc_struct_dealloc(void *);
+IMP unsigned int rmc_mobile_alloc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_mobile_alloc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define mesg_type_struct_size(x) 1
+IMP unsigned int mesg_type_struct_bits(void *);
+IMP void mesg_type_struct_alloc(void *);
+IMP void mesg_type_struct_dealloc(void *);
+IMP unsigned int mesg_type_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mesg_type_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rr_rmc_page_mode_struct_size(x) 1
+IMP unsigned int rr_rmc_page_mode_struct_bits(void *);
+IMP void rr_rmc_page_mode_struct_alloc(void *);
+IMP void rr_rmc_page_mode_struct_dealloc(void *);
+IMP unsigned int rr_rmc_page_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_rmc_page_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define dedicated_mode_or_tbf_struct_size(x) 1
+IMP unsigned int dedicated_mode_or_tbf_struct_bits(void *);
+IMP void dedicated_mode_or_tbf_struct_alloc(void *);
+IMP void dedicated_mode_or_tbf_struct_dealloc(void *);
+IMP unsigned int dedicated_mode_or_tbf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int dedicated_mode_or_tbf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_rr_protocol_disc_struct_size(x) 1
+IMP unsigned int rmc_rr_protocol_disc_struct_bits(void *);
+IMP void rmc_rr_protocol_disc_struct_alloc(void *);
+IMP void rmc_rr_protocol_disc_struct_dealloc(void *);
+IMP unsigned int rmc_rr_protocol_disc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_rr_protocol_disc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_rr_skip_indicator_struct_size(x) 1
+IMP unsigned int rmc_rr_skip_indicator_struct_bits(void *);
+IMP void rmc_rr_skip_indicator_struct_alloc(void *);
+IMP void rmc_rr_skip_indicator_struct_dealloc(void *);
+IMP unsigned int rmc_rr_skip_indicator_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_rr_skip_indicator_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_l2_pseudo_length_struct_size(x) 1
+IMP unsigned int rmc_l2_pseudo_length_struct_bits(void *);
+IMP void rmc_l2_pseudo_length_struct_alloc(void *);
+IMP void rmc_l2_pseudo_length_struct_dealloc(void *);
+IMP unsigned int rmc_l2_pseudo_length_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_l2_pseudo_length_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int immediate_assign_message_bits(void *);
+IMP void immediate_assign_message_alloc(void *);
+IMP void immediate_assign_message_dealloc(void *);
+IMP unsigned int immediate_assign_message_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int immediate_assign_message_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_spare_half_octet_struct_size(x) 1
+IMP unsigned int rmc_spare_half_octet_struct_bits(void *);
+IMP void rmc_spare_half_octet_struct_alloc(void *);
+IMP void rmc_spare_half_octet_struct_dealloc(void *);
+IMP unsigned int rmc_spare_half_octet_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_spare_half_octet_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rmc_wait_indication_struct_size(x) 1
+IMP unsigned int rmc_wait_indication_struct_bits(void *);
+IMP void rmc_wait_indication_struct_alloc(void *);
+IMP void rmc_wait_indication_struct_dealloc(void *);
+IMP unsigned int rmc_wait_indication_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rmc_wait_indication_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define iarrest_octets_size(x) 3
+IMP unsigned int iarrest_octets_bits(void *);
+IMP void iarrest_octets_alloc(void *);
+IMP void iarrest_octets_dealloc(void *);
+IMP unsigned int iarrest_octets_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int iarrest_octets_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define imm_asgn_rej_msg_struct_size(x) 23
+IMP unsigned int imm_asgn_rej_msg_struct_bits(void *);
+IMP void imm_asgn_rej_msg_struct_alloc(void *);
+IMP void imm_asgn_rej_msg_struct_dealloc(void *);
+IMP unsigned int imm_asgn_rej_msg_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int imm_asgn_rej_msg_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int immediate_assign_dedicated_bits(void *);
+IMP void immediate_assign_dedicated_alloc(void *);
+IMP void immediate_assign_dedicated_dealloc(void *);
+IMP unsigned int immediate_assign_dedicated_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int immediate_assign_dedicated_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int immediate_assign_ext_message_bits(void *);
+IMP void immediate_assign_ext_message_alloc(void *);
+IMP void immediate_assign_ext_message_dealloc(void *);
+IMP unsigned int immediate_assign_ext_message_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int immediate_assign_ext_message_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#define rr_status_struct_size(x) 3
+IMP unsigned int rr_status_struct_bits(void *);
+IMP void rr_status_struct_alloc(void *);
+IMP void rr_status_struct_dealloc(void *);
+IMP unsigned int rr_status_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_status_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cell_channel_description_struct_size(x) 16
+IMP unsigned int cell_channel_description_struct_bits(void *);
+IMP void cell_channel_description_struct_alloc(void *);
+IMP void cell_channel_description_struct_dealloc(void *);
+IMP unsigned int cell_channel_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cell_channel_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cell_description_struct_size(x) 2
+IMP unsigned int cell_description_struct_bits(void *);
+IMP void cell_description_struct_alloc(void *);
+IMP void cell_description_struct_dealloc(void *);
+IMP unsigned int cell_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cell_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define nc_mode_struct_size(x) 1
+IMP unsigned int nc_mode_struct_bits(void *);
+IMP void nc_mode_struct_alloc(void *);
+IMP void nc_mode_struct_dealloc(void *);
+IMP unsigned int nc_mode_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nc_mode_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rr_cell_change_order_struct_size(x) 5
+IMP unsigned int rr_cell_change_order_struct_bits(void *);
+IMP void rr_cell_change_order_struct_alloc(void *);
+IMP void rr_cell_change_order_struct_dealloc(void *);
+IMP unsigned int rr_cell_change_order_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_cell_change_order_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define extended_measurement_freq_list_struct_size(x) 16
+IMP unsigned int extended_measurement_freq_list_struct_bits(void *);
+IMP void extended_measurement_freq_list_struct_alloc(void *);
+IMP void extended_measurement_freq_list_struct_dealloc(void *);
+IMP unsigned int extended_measurement_freq_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int extended_measurement_freq_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define extended_measurement_order_struct_size(x) 19
+IMP unsigned int extended_measurement_order_struct_bits(void *);
+IMP void extended_measurement_order_struct_alloc(void *);
+IMP void extended_measurement_order_struct_dealloc(void *);
+IMP unsigned int extended_measurement_order_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int extended_measurement_order_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channel_description_struct_bits(void *);
+IMP void channel_description_struct_alloc(void *);
+IMP void channel_description_struct_dealloc(void *);
+IMP unsigned int channel_description_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int channel_description_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int frequency_list_struct_bits(void *);
+IMP void frequency_list_struct_alloc(void *);
+IMP void frequency_list_struct_dealloc(void *);
+IMP unsigned int frequency_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int frequency_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int frequency_short_list_struct_bits(void *);
+IMP void frequency_short_list_struct_alloc(void *);
+IMP void frequency_short_list_struct_dealloc(void *);
+IMP unsigned int frequency_short_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int frequency_short_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define frequency_channel_sequence_struct_size(x) 9
+IMP unsigned int frequency_channel_sequence_struct_bits(void *);
+IMP void frequency_channel_sequence_struct_alloc(void *);
+IMP void frequency_channel_sequence_struct_dealloc(void *);
+IMP unsigned int frequency_channel_sequence_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int frequency_channel_sequence_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define power_command_struct_size(x) 1
+IMP unsigned int power_command_struct_bits(void *);
+IMP void power_command_struct_alloc(void *);
+IMP void power_command_struct_dealloc(void *);
+IMP unsigned int power_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int power_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cipher_mode_setting_struct_size(x) 1
+IMP unsigned int cipher_mode_setting_struct_bits(void *);
+IMP void cipher_mode_setting_struct_alloc(void *);
+IMP void cipher_mode_setting_struct_dealloc(void *);
+IMP unsigned int cipher_mode_setting_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cipher_mode_setting_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define vgcs_target_mode_indication_struct_size(x) 2
+IMP unsigned int vgcs_target_mode_indication_struct_bits(void *);
+IMP void vgcs_target_mode_indication_struct_alloc(void *);
+IMP void vgcs_target_mode_indication_struct_dealloc(void *);
+IMP unsigned int vgcs_target_mode_indication_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int vgcs_target_mode_indication_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int assignment_command_struct_bits(void *);
+IMP void assignment_command_struct_alloc(void *);
+IMP void assignment_command_struct_dealloc(void *);
+IMP unsigned int assignment_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int assignment_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int pdch_assignment_command_struct_bits(void *);
+IMP void pdch_assignment_command_struct_alloc(void *);
+IMP void pdch_assignment_command_struct_dealloc(void *);
+IMP unsigned int pdch_assignment_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pdch_assignment_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define classmark2_struct_size(x) 4
+IMP unsigned int classmark2_struct_bits(void *);
+IMP void classmark2_struct_alloc(void *);
+IMP void classmark2_struct_dealloc(void *);
+IMP unsigned int classmark2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int classmark2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define a5_bits_struct_size(x) 1
+IMP unsigned int a5_bits_struct_bits(void *);
+IMP void a5_bits_struct_alloc(void *);
+IMP void a5_bits_struct_dealloc(void *);
+IMP unsigned int a5_bits_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int a5_bits_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define a5_bits_1_struct_size(x) 2
+IMP unsigned int a5_bits_1_struct_bits(void *);
+IMP void a5_bits_1_struct_alloc(void *);
+IMP void a5_bits_1_struct_dealloc(void *);
+IMP unsigned int a5_bits_1_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int a5_bits_1_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define a5_bits_2_struct_size(x) 2
+IMP unsigned int a5_bits_2_struct_bits(void *);
+IMP void a5_bits_2_struct_alloc(void *);
+IMP void a5_bits_2_struct_dealloc(void *);
+IMP unsigned int a5_bits_2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int a5_bits_2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int edge_struct_bits(void *);
+IMP void edge_struct_alloc(void *);
+IMP void edge_struct_dealloc(void *);
+IMP unsigned int edge_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int edge_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gsm_band_inf_struct_size(x) 1
+IMP unsigned int gsm_band_inf_struct_bits(void *);
+IMP void gsm_band_inf_struct_alloc(void *);
+IMP void gsm_band_inf_struct_dealloc(void *);
+IMP unsigned int gsm_band_inf_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gsm_band_inf_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprs_mlt_slt_struct_size(x) 1
+IMP unsigned int gprs_mlt_slt_struct_bits(void *);
+IMP void gprs_mlt_slt_struct_alloc(void *);
+IMP void gprs_mlt_slt_struct_dealloc(void *);
+IMP unsigned int gprs_mlt_slt_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprs_mlt_slt_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int classmark3_struct_bits(void *);
+IMP void classmark3_struct_alloc(void *);
+IMP void classmark3_struct_dealloc(void *);
+IMP unsigned int classmark3_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int classmark3_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define classmark_enq_mask_size(x) 2
+IMP unsigned int classmark_enq_mask_bits(void *);
+IMP void classmark_enq_mask_alloc(void *);
+IMP void classmark_enq_mask_dealloc(void *);
+IMP unsigned int classmark_enq_mask_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int classmark_enq_mask_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_peer_classmark_enquiry_struct_bits(void *);
+IMP void rr_peer_classmark_enquiry_struct_alloc(void *);
+IMP void rr_peer_classmark_enquiry_struct_dealloc(void *);
+IMP unsigned int rr_peer_classmark_enquiry_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_peer_classmark_enquiry_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rr_peer_partial_release_complete_struct_size(x) 2
+IMP unsigned int rr_peer_partial_release_complete_struct_bits(void *);
+IMP void rr_peer_partial_release_complete_struct_alloc(void *);
+IMP void rr_peer_partial_release_complete_struct_dealloc(void *);
+IMP unsigned int rr_peer_partial_release_complete_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_peer_partial_release_complete_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_peer_additional_assignment_struct_bits(void *);
+IMP void rr_peer_additional_assignment_struct_alloc(void *);
+IMP void rr_peer_additional_assignment_struct_dealloc(void *);
+IMP unsigned int rr_peer_additional_assignment_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_peer_additional_assignment_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#define rr_peer_rr_status_struct_size(x) 3
+IMP unsigned int rr_peer_rr_status_struct_bits(void *);
+IMP void rr_peer_rr_status_struct_alloc(void *);
+IMP void rr_peer_rr_status_struct_dealloc(void *);
+IMP unsigned int rr_peer_rr_status_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_peer_rr_status_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rr_peer_partial_release_struct_bits(void *);
+IMP void rr_peer_partial_release_struct_alloc(void *);
+IMP void rr_peer_partial_release_struct_dealloc(void *);
+IMP unsigned int rr_peer_partial_release_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rr_peer_partial_release_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define loop_type_struct_size(x) 1
+IMP unsigned int loop_type_struct_bits(void *);
+IMP void loop_type_struct_alloc(void *);
+IMP void loop_type_struct_dealloc(void *);
+IMP unsigned int loop_type_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int loop_type_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define close_tch_loop_cmd_struct_size(x) 3
+IMP unsigned int close_tch_loop_cmd_struct_bits(void *);
+IMP void close_tch_loop_cmd_struct_alloc(void *);
+IMP void close_tch_loop_cmd_struct_dealloc(void *);
+IMP unsigned int close_tch_loop_cmd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int close_tch_loop_cmd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int open_loop_cmd_struct_bits(void *);
+IMP void open_loop_cmd_struct_alloc(void *);
+IMP void open_loop_cmd_struct_dealloc(void *);
+IMP unsigned int open_loop_cmd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int open_loop_cmd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define close_multi_loop_cmd_struct_size(x) 3
+IMP unsigned int close_multi_loop_cmd_struct_bits(void *);
+IMP void close_multi_loop_cmd_struct_alloc(void *);
+IMP void close_multi_loop_cmd_struct_dealloc(void *);
+IMP unsigned int close_multi_loop_cmd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int close_multi_loop_cmd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define open_multi_loop_cmd_struct_size(x) 2
+IMP unsigned int open_multi_loop_cmd_struct_bits(void *);
+IMP void open_multi_loop_cmd_struct_alloc(void *);
+IMP void open_multi_loop_cmd_struct_dealloc(void *);
+IMP unsigned int open_multi_loop_cmd_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int open_multi_loop_cmd_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define close_multi_loop_ack_result_struct_size(x) 1
+IMP unsigned int close_multi_loop_ack_result_struct_bits(void *);
+IMP void close_multi_loop_ack_result_struct_alloc(void *);
+IMP void close_multi_loop_ack_result_struct_dealloc(void *);
+IMP unsigned int close_multi_loop_ack_result_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int close_multi_loop_ack_result_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define close_multi_loop_ack_size(x) 3
+IMP unsigned int close_multi_loop_ack_bits(void *);
+IMP void close_multi_loop_ack_alloc(void *);
+IMP void close_multi_loop_ack_dealloc(void *);
+IMP unsigned int close_multi_loop_ack_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int close_multi_loop_ack_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cipher_mode_command_struct_size(x) 3
+IMP unsigned int cipher_mode_command_struct_bits(void *);
+IMP void cipher_mode_command_struct_alloc(void *);
+IMP void cipher_mode_command_struct_dealloc(void *);
+IMP unsigned int cipher_mode_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cipher_mode_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int cipher_mode_complete_struct_bits(void *);
+IMP void cipher_mode_complete_struct_alloc(void *);
+IMP void cipher_mode_complete_struct_dealloc(void *);
+IMP unsigned int cipher_mode_complete_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cipher_mode_complete_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int configuration_change_command_struct_bits(void *);
+IMP void configuration_change_command_struct_alloc(void *);
+IMP void configuration_change_command_struct_dealloc(void *);
+IMP unsigned int configuration_change_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int configuration_change_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define sync_info_struct_size(x) 1
+IMP unsigned int sync_info_struct_bits(void *);
+IMP void sync_info_struct_alloc(void *);
+IMP void sync_info_struct_dealloc(void *);
+IMP unsigned int sync_info_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sync_info_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define real_time_diff_struct_size(x) 2
+IMP unsigned int real_time_diff_struct_bits(void *);
+IMP void real_time_diff_struct_alloc(void *);
+IMP void real_time_diff_struct_dealloc(void *);
+IMP unsigned int real_time_diff_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int real_time_diff_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define mob_obs_time_diff_struct_size(x) 4
+IMP unsigned int mob_obs_time_diff_struct_bits(void *);
+IMP void mob_obs_time_diff_struct_alloc(void *);
+IMP void mob_obs_time_diff_struct_dealloc(void *);
+IMP unsigned int mob_obs_time_diff_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mob_obs_time_diff_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int handover_command_struct_bits(void *);
+IMP void handover_command_struct_alloc(void *);
+IMP void handover_command_struct_dealloc(void *);
+IMP unsigned int handover_command_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int handover_command_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int handover_complete_struct_bits(void *);
+IMP void handover_complete_struct_alloc(void *);
+IMP void handover_complete_struct_dealloc(void *);
+IMP unsigned int handover_complete_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int handover_complete_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define physical_information_struct_size(x) 3
+IMP unsigned int physical_information_struct_bits(void *);
+IMP void physical_information_struct_alloc(void *);
+IMP void physical_information_struct_dealloc(void *);
+IMP unsigned int physical_information_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int physical_information_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int apdu_data_struct_bits(void *);
+IMP void apdu_data_struct_alloc(void * );
+IMP void apdu_data_struct_dealloc(void * );
+IMP unsigned int apdu_data_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int apdu_data_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+IMP unsigned int application_information_struct_bits(void *);
+IMP void application_information_struct_alloc(void *);
+IMP void application_information_struct_dealloc(void *);
+IMP unsigned int application_information_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int application_information_struct_unpack(void * , kal_uint8 * ,unsigned int , unsigned int , void * );
+IMP unsigned int channel_request_struct_bits(void * );
+IMP void channel_request_struct_alloc(void * );
+IMP void channel_request_struct_dealloc(void * );
+IMP unsigned int channel_request_struct_pack(kal_uint8 * , void * ,unsigned int );
+IMP unsigned int channel_request_struct_unpack(void * , kal_uint8 * ,unsigned int , unsigned int , void * );
+IMP unsigned int frequency_redefinition_struct_bits(void *);
+IMP void frequency_redefinition_struct_alloc(void *);
+IMP void frequency_redefinition_struct_dealloc(void *);
+IMP unsigned int frequency_redefinition_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int frequency_redefinition_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channel_mode_modify_struct_bits(void *);
+IMP void channel_mode_modify_struct_alloc(void *);
+IMP void channel_mode_modify_struct_dealloc(void *);
+IMP unsigned int channel_mode_modify_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int channel_mode_modify_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channel_mode_modify_ack_struct_bits(void *);
+IMP void channel_mode_modify_ack_struct_alloc(void *);
+IMP void channel_mode_modify_ack_struct_dealloc(void *);
+IMP unsigned int channel_mode_modify_ack_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int channel_mode_modify_ack_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#ifdef __ETWS_SUPPORT__
+extern void rr_decode_group_call_info(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_cell_global_count(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_mbms_para(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_mbms_channel_para_ie(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_mbms_session_list_ie(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+extern void rr_decode_mbms_freq_para_ie(bit_stream *bs_ptr, kal_uint16 *length, kal_bool *result);
+#ifdef __PS_SERVICE__
+extern void rr_decode_page_info_struct(bit_stream *bs_ptr, kal_uint16 *length);
+extern void rr_decode_repeated_iu_page_info(bit_stream *bs_ptr, kal_uint16 *length);
+#endif /* __PS_SERVICE__ */
+#endif /* __ETWS_SUPPORT__ */
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/rmc_peer_struct.h b/mcu/protocol/interface/asn/rr/include/rmc_peer_struct.h
new file mode 100644
index 0000000..4084b6e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/rmc_peer_struct.h
@@ -0,0 +1,1150 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  rmc_peer_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : rmc_peer_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _RMC_PEER_STRUCT_H
+#define _RMC_PEER_STRUCT_H
+
+#include "rmc_peer_dl.h"
+#include "rmc_peer_dl_struct.h"
+#include "rr_spare_bit.h"
+#include "nstd_spare_bit_struct.h"
+#include "l3_inc_enums.h"
+#include "nstd_channel_rel_struct.h"
+#include "rmc_peer.h"
+#include "mcd_l3_inc_struct.h"
+#ifdef __PS_SERVICE__
+#include "gprs_rlcmac_peer_struct.h"
+#endif /* __PS_SERVICE__ */
+
+#ifndef _MS_MEAS_CAP_STRUCT
+#define _MS_MEAS_CAP_STRUCT
+typedef struct {
+    kal_uint8 sms_value; /* SMS VALUE*/
+    kal_uint8 sm_value; /* SM VALUE*/
+} ms_meas_cap_struct;
+#endif
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint16 arfcn;
+} spare_and_arfcn_struct;
+
+typedef struct {
+    kal_uint8 maio;
+    kal_uint8 hsn;
+} maio_and_hsn_struct;
+
+typedef struct {
+    kal_uint8 chan_type_tdmaoffset;
+    kal_uint8 tn;
+    kal_uint8 tsc;
+    enum_is_present maio_tag;
+    union {
+        spare_and_arfcn_struct spare_and_arfcn;
+        maio_and_hsn_struct maio_and_hsn;
+    } maio_value;
+} chan_desc_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 maio;
+    kal_uint8 ma_num;
+    enum_is_present ch1_tag;
+    union {
+        kal_uint8 spare;
+        kal_uint8 chngmark1;
+    } ch1_value;
+} rmc_maio_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint16 arfcn;
+} arfcn_struct;
+
+typedef struct {
+    enum_is_present ch1_tag;
+    union {
+        arfcn_struct arfcn;
+        rmc_maio_struct maio;
+    } ch1_value;
+} non_hop_or_indirect_enc_struct;
+
+typedef struct {
+    kal_uint8 maio;
+    kal_uint8 hsn;
+} direct_enc_struct;
+
+typedef struct {
+    kal_uint8 chan_type; /* shall be ignored by the receiver.
+                                       always set to the value 00001.*/
+    kal_uint8 tn; /* time slot number*/
+    kal_uint8 tsc; /* training sequence code*/
+    chan_config ch_config_tag;
+    union {
+        non_hop_or_indirect_enc_struct non_hop_or_indirect_enc;
+        direct_enc_struct direct_enc;
+    } ch_config_value;
+} pkt_chan_desc_struct;
+
+typedef struct {
+    kal_uint8 value; /* valid values for all bands other than
+                                   GSM 400 are 0-63. for GSM 400, the valid
+                                   values are 0-219.*/
+} m_timing_advance_struct;
+
+typedef struct {
+    kal_uint8 random_acc_info; /* random access info. to be coded in the
+                                    same way as the channel request message.*/
+    kal_uint8 t1;
+    kal_uint8 t3;
+    kal_uint8 t2;
+} rmc_request_reference_struct;
+
+typedef struct {
+    kal_uint8 no_mobile_alloc;
+    kal_uint8 mobile_alloc_size;
+    kal_uint8 *mobile_alloc;
+} rmc_mobile_alloc_struct;
+
+typedef struct {
+    kal_uint8 mesg_type;
+} mesg_type_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 page_mode; /* indicates whether the paging mode
+                                       is normal paging, extended paging,
+                                       paging reorganization or same as
+                                       before.*/
+} rr_rmc_page_mode_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 two_mesg_asgn_ind;
+    kal_uint8 down_link;
+    kal_uint8 tbf_or_dedicated_mode_ind;
+} dedicated_mode_or_tbf_struct;
+
+typedef struct {
+    kal_uint8 proto_disc;
+} rmc_rr_protocol_disc_struct;
+
+typedef struct {
+    kal_uint8 skip_ind;
+} rmc_rr_skip_indicator_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 fixed_valuefield;
+} rmc_l2_pseudo_length_struct;
+
+typedef struct {
+    rmc_l2_pseudo_length_struct l2pseudo_length;
+    rmc_rr_skip_indicator_struct skip;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    dedicated_mode_or_tbf_struct ded_or_tbf;
+    rr_rmc_page_mode_struct page_mode;
+    pkt_chan_desc_struct pkt_chan_desc;
+    rmc_request_reference_struct req_ref;
+    m_timing_advance_struct time_adv;
+    rmc_mobile_alloc_struct mob_alloc;
+#ifdef __PS_SERVICE__    
+    iarest_octets rest_oct;
+#endif
+} immediate_assign_message;
+
+typedef struct {
+    kal_uint8 spare;
+} rmc_spare_half_octet_struct;
+
+typedef struct {
+    kal_uint8 time_out_value; /* T3122 or T3142 timeout value*/
+} rmc_wait_indication_struct;
+
+typedef struct {
+    kal_uint32 spare; /* set to 0x0 always*/
+} iarrest_octets;
+
+typedef struct {
+    rmc_l2_pseudo_length_struct length;
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct protocol_disc;
+    mesg_type_struct mesg_type;
+    rmc_spare_half_octet_struct spare;
+    rr_rmc_page_mode_struct page_mode;
+    rmc_request_reference_struct req_ref1;
+    rmc_wait_indication_struct wait_ind1;
+    rmc_request_reference_struct req_ref2;
+    rmc_wait_indication_struct wait_ind2;
+    rmc_request_reference_struct req_ref3;
+    rmc_wait_indication_struct wait_ind3;
+    rmc_request_reference_struct req_ref4;
+    rmc_wait_indication_struct wait_ind4;
+    iarrest_octets rest_octets;
+} imm_asgn_rej_msg_struct;
+
+typedef struct {
+    rmc_l2_pseudo_length_struct l2pseudo_length;
+    rmc_rr_skip_indicator_struct skip;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    dedicated_mode_or_tbf_struct ded_or_tbf;
+    rr_rmc_page_mode_struct page_mode;
+    chan_desc_struct chan_desc; /* always ded description*/
+    rmc_request_reference_struct req_ref;
+    m_timing_advance_struct time_adv;
+    rmc_mobile_alloc_struct mob_alloc;
+#ifdef __PS_SERVICE__    
+    iarest_octets rest_oct;
+#endif
+} immediate_assign_dedicated;
+
+typedef struct {
+    rmc_l2_pseudo_length_struct l2pseudo_length;
+    rmc_rr_skip_indicator_struct skip;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    rmc_spare_half_octet_struct spare;
+    rr_rmc_page_mode_struct page_mode;
+    chan_desc_struct chan_desc1; /* channel description */
+    rmc_request_reference_struct req_ref1;
+    m_timing_advance_struct time_adv1;
+    chan_desc_struct chan_desc2; /* channel description */
+    rmc_request_reference_struct req_ref2;
+    m_timing_advance_struct time_adv2;
+    rmc_mobile_alloc_struct mob_alloc;
+    kal_uint8 no_iax_rest_oct;
+    kal_uint8 iax_rest_oct_size;
+    kal_uint8 *iax_rest_oct; /* spare*/
+} immediate_assign_ext_message;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif 
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 rr_cause;
+} rr_status_struct;
+
+typedef struct {
+    kal_uint8 format_id;
+    kal_uint8 spare;
+    kal_uint8 ca_arfcn_1;
+    kal_uint8 ca_arfcn_2[15];
+} cell_channel_description_struct;
+
+typedef struct {
+    kal_uint8 bcch_arfcn_high; /* high part*/
+    kal_uint8 ncc;
+    kal_uint8 bcc;
+    kal_uint8 bcch_arfcn_low; /* low part*/
+} cell_description_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 nc_mode;
+} nc_mode_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    cell_description_struct cell_description;
+    kal_uint8 spare_half_octet;
+    nc_mode_struct nc_mode;
+} rr_cell_change_order_struct;
+
+typedef struct {
+    kal_uint8 format_id;
+    kal_uint8 spare;
+    kal_uint8 seq_code;
+    kal_uint8 ca_arfcn_1;
+    kal_uint8 ca_arfcn_2[15];
+} extended_measurement_freq_list_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    extended_measurement_freq_list_struct ext_freq_list;
+} extended_measurement_order_struct;
+
+typedef struct {
+    kal_uint8 ch_typeand_tdma;
+    kal_uint8 tn;
+    kal_uint8 training_seq; /* training sequence code*/
+    is_present_enum hopping_ch_tag;
+    union {
+        field1_struct channel_select1;
+        field2_struct channel_select2;
+    } hopping_ch_value;
+} channel_description_struct;
+
+typedef struct {
+    kal_uint8 no_ca_arfcn;
+    kal_uint8 ca_arfcn_size;
+    kal_uint8 *ca_arfcn;
+} frequency_list_struct;
+
+typedef struct {
+    kal_uint8 no_ca_arfcn;
+    kal_uint8 ca_arfcn_size;
+    kal_uint8 *ca_arfcn;
+} frequency_short_list_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 lowest_arfcn;
+    kal_uint8 inc_skip_arfcn[16];
+} frequency_channel_sequence_struct;
+
+typedef struct {
+    kal_uint8 atc;
+    kal_uint8 spare;
+    kal_uint8 fpc;
+    kal_uint8 power_level;
+} power_command_struct;
+
+typedef struct {
+    kal_uint8 algo_identifier;
+    kal_uint8 sc;
+} cipher_mode_setting_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 target_mode;
+    kal_uint8 group_cipher_key_no;
+    kal_uint8 spare1;
+    kal_uint8 spare2;
+} vgcs_target_mode_indication_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    channel_description_struct channel_desc1;
+    power_command_struct power_command;
+    kal_uint8 freq_list1P;
+    frequency_list_struct freq_list1;
+    kal_uint8 cell_channel_descP;
+    cell_channel_description_struct cell_channel_desc;
+    kal_uint8 multi_slot_allocP;
+    kal_uint8 no_multi_slot_alloc;
+    kal_uint8 multi_slot_alloc_size;
+    kal_uint8 *multi_slot_alloc;
+    kal_uint8 channel_mode1P;
+    kal_uint8 channel_mode1;
+    kal_uint8 channel_mode2P;
+    kal_uint8 channel_mode2;
+    kal_uint8 channel_mode3P;
+    kal_uint8 channel_mode3;
+    kal_uint8 channel_mode4P;
+    kal_uint8 channel_mode4;
+    kal_uint8 channel_mode5P;
+    kal_uint8 channel_mode5;
+    kal_uint8 channel_mode6P;
+    kal_uint8 channel_mode6;
+    kal_uint8 channel_mode7P;
+    kal_uint8 channel_mode7;
+    kal_uint8 channel_mode8P;
+    kal_uint8 channel_mode8;
+    kal_uint8 channel_desc2P;
+    channel_description_struct channel_desc2;
+    kal_uint8 channel_mode9P;
+    kal_uint8 channel_mode9;
+    kal_uint8 mobile_alloc1P;
+    kal_uint8 no_mobile_alloc1;
+    kal_uint8 mobile_alloc1_size;
+    kal_uint8 *mobile_alloc1;
+    kal_uint8 starting_timeP;
+    rmc_start_time_struct starting_time;
+    kal_uint8 freq_list2P;
+    frequency_list_struct freq_list2;
+    kal_uint8 channel_desc3P;
+    channel_description_struct channel_desc3;
+    kal_uint8 channel_desc4P;
+    channel_description_struct channel_desc4;
+    kal_uint8 freq_channel_seqP;
+    frequency_channel_sequence_struct freq_channel_seq;
+    kal_uint8 mobile_alloc2P;
+    kal_uint8 no_mobile_alloc2;
+    kal_uint8 mobile_alloc2_size;
+    kal_uint8 *mobile_alloc2;
+    kal_uint8 cipher_modeP;
+    cipher_mode_setting_struct cipher_mode;
+    kal_uint8 vgcs_target_modeP;
+    vgcs_target_mode_indication_struct vgcs_target_mode;
+    kal_uint8 multi_rate_configP;
+    kal_uint8 no_multi_rate_config;
+    kal_uint8 multi_rate_config_size;
+    /* kal_uint8 *multi_rate_config; */
+	kal_uint8 multirate_speech_version;
+	kal_uint8 nscb;
+	kal_uint8 icmi;
+	kal_uint8 start_mode;
+	kal_uint8 active_codec_set;
+	kal_uint8 threshold[3];
+	kal_uint8 hysteresis[3];
+} assignment_command_struct;
+
+#ifdef __PS_SERVICE__
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    channel_description_struct channel_desc1;
+    kal_uint8 cell_channel_descP;
+    cell_channel_description_struct cell_channel_desc;
+    kal_uint8 freq_list1P;
+    frequency_list_struct freq_list1;
+    kal_uint8 mobile_alloc1P;
+    kal_uint8 no_mobile_alloc1;
+    kal_uint8 mobile_alloc1_size;
+    kal_uint8 *mobile_alloc1;
+    kal_uint8 starting_timeP;
+    rmc_start_time_struct starting_time;
+    kal_uint8 freq_list2P;
+    frequency_list_struct freq_list2;
+    kal_uint8 channel_desc2P;
+    channel_description_struct channel_desc2;
+    kal_uint8 freq_channel_seqP;
+    frequency_channel_sequence_struct freq_channel_seq;
+    kal_uint8 mobile_alloc2P;
+    kal_uint8 no_mobile_alloc2;
+    kal_uint8 mobile_alloc2_size;
+    kal_uint8 *mobile_alloc2;
+    kal_uint8 rr_packet_uplinkP;
+    rr_packet_uplink_struct rr_packet_uplink;
+    kal_uint8 rr_packet_downlinkP;
+    rr_packet_downlink_struct rr_packet_downlink;
+} pdch_assignment_command_struct;
+#endif
+
+typedef struct {
+    kal_uint8 length; /* length of contents*/
+    kal_uint8 spare_0; /* spare*/
+    kal_uint8 rev_level; /* revision level*/
+    kal_uint8 es_ind; /* ES IND*/
+    kal_uint8 a5_1; /* A5/1 supported*/
+    kal_uint8 rf_cap; /* Rf Power Capability*/
+    kal_uint8 spare_1; /* spare*/
+    kal_uint8 ps_cap; /* PS capability*/
+    kal_uint8 ss_screen_ind; /* SS screen Indicator*/
+    kal_uint8 sm_cap; /* SM capability*/
+    kal_uint8 vbs; /* VBS*/
+    kal_uint8 vgcs; /* VGCS*/
+    kal_uint8 fc; /* FC*/
+    kal_uint8 cm3; /* CM3*/
+    kal_uint8 spare_2; /* spare*/
+    kal_uint8 lcsva_cap; /* LCSVA capability*/
+    kal_uint8 ucs2; /* UCS2*/
+    kal_uint8 so_lsa; /* SoLSA*/
+    kal_uint8 cmsp; /* CMSP*/
+    kal_uint8 a5_3; /* A5/3*/
+    kal_uint8 a5_2; /* A5/2*/
+} classmark2_struct;
+
+typedef struct {
+    kal_uint8 a5_7; /* A5/7*/
+    kal_uint8 a5_6; /* A5/6*/
+    kal_uint8 a5_5; /* A5/5*/
+    kal_uint8 a5_4; /* A5/4*/
+} a5_bits_struct;
+
+typedef struct {
+    a5_bits_struct a5bits;
+    kal_uint8 arc2; /* assoc radio cap 2*/
+    kal_uint8 arc1; /* assoc radio cap 1*/
+} a5_bits_1_struct;
+
+typedef struct {
+    a5_bits_struct a5bits;
+    kal_uint8 spare; /* spare*/
+    kal_uint8 arc1; /* assoc radio cap 1*/
+} a5_bits_2_struct;
+
+typedef struct {
+    kal_uint8 mod_cap; /* modulation capability*/
+    enum_is_present ch_rf_pwr_cap1_tag;
+    union {
+        kal_uint8 e_rf_pwr_cap1;
+    } ch_rf_pwr_cap1_value;
+    enum_is_present ch_rf_pwr_cap2_tag;
+    union {
+        kal_uint8 e_rf_pwr_cap2;
+    } ch_rf_pwr_cap2_value;
+} edge_struct;
+
+typedef struct {
+    kal_uint8 gsm_bnd_sup; /* GSM 400 bands supported*/
+    kal_uint8 gsm_arc1; /* GSM 400 associated radio capability*/
+} gsm_band_inf_struct;
+
+typedef struct {
+    kal_uint8 d_gmssc; /* DTM GPRS multi slot sub-class*/
+    kal_uint8 mac_md_sup; /* MAC mode support*/
+} gprs_mlt_slt_struct;
+
+typedef struct {
+    kal_uint8 length; /* length of classmark contents*/
+    kal_uint8 spare; /* spare*/
+    multi_band_enum ch1_tag;
+    union {
+        a5_bits_struct a5bits;
+        a5_bits_1_struct a5bits_1;
+        a5_bits_1_struct a5bits_1_1;
+        a5_bits_2_struct a5bits_2;
+        a5_bits_2_struct a5bits_2_1;
+        a5_bits_2_struct a5bits_2_2;
+    } ch1_value;
+    enum_is_present ch2_tag;
+    union {
+        kal_uint8 r_support;
+    } ch2_value;
+    enum_is_present ch3_tag;
+    union {
+        kal_uint8 m_slot_cap;
+    } ch3_value;
+    kal_uint8 ucs2; /* UCS2 treatment*/
+    kal_uint8 ext_meas_cap; /* extended meas capability*/
+    enum_is_present ch4_tag;
+    union {
+        ms_meas_cap_struct meas_cap;
+    } ch4_value;
+    enum_is_present ch5_tag;
+    union {
+        kal_uint8 ms_pos_cap;
+    } ch5_value;
+    enum_is_present ch6_tag;
+    union {
+        kal_uint8 edgem_slot_cap;
+    } ch6_value;
+    enum_is_present ch7_tag;
+    union {
+        edge_struct edge_struct_inst;
+    } ch7_value;
+    enum_is_present ch8_tag;
+    union {
+        gsm_band_inf_struct gsm_bnd_inf;
+    } ch8_value;
+    enum_is_present ch9_tag;
+    union {
+        kal_uint8 gsm_arc2;
+    } ch9_value;
+    enum_is_present ch10_tag;
+    union {
+        kal_uint8 pcs_arc;
+    } ch10_value;
+    kal_uint8 umts_fratc; /* UMTS FDD radio access tech. cap.*/
+    kal_uint8 umts_tratc; /* UMTS TDD radio access tech. cap.*/
+    kal_uint8 cdma_ratc; /* CDMA 2000 radio access tech. cap.*/
+    enum_is_present ch11_tag;
+    union {
+        gprs_mlt_slt_struct gprs_mslot;
+    } ch11_value;
+    enum_is_present ch12_tag;
+    union {
+        kal_uint8 egprs_mslot;
+    } ch12_value;
+    kal_uint8 spare1; /* spare*/
+} classmark3_struct;
+
+typedef struct {
+    kal_uint8 classmark_length;
+    kal_uint8 classmark_mask;
+} classmark_enq_mask;
+
+typedef struct {
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    kal_uint8 classmark_enq_mask_instP;
+    classmark_enq_mask classmark_enq_mask_inst;
+} rr_peer_classmark_enquiry_struct;
+
+typedef struct {
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+} rr_peer_partial_release_complete_struct;
+
+typedef struct {
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    chan_desc_struct chan_desc;
+    kal_uint8 mobile_allocP;
+    rmc_mobile_alloc_struct mobile_alloc; /* mobile allocation*/
+    kal_uint8 start_timeP;
+    rmc_start_time_struct start_time; /* starting time*/
+} rr_peer_additional_assignment_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct {
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    kal_uint8 rr_cause; /* RR cause*/
+} rr_peer_rr_status_struct;
+
+typedef struct {
+    rmc_rr_skip_indicator_struct skip_ind;
+    rmc_rr_protocol_disc_struct proto_disc;
+    mesg_type_struct mesg_type;
+    chan_desc_struct chan_desc; /* chan desc*/
+} rr_peer_partial_release_struct;
+
+typedef struct {
+    kal_uint8 tn_slot;
+    kal_uint8 mech;
+    kal_uint8 chc;
+} loop_type_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 sub_channel;
+} close_tch_loop_cmd_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 ackP;
+    kal_uint8 ack;
+} open_loop_cmd_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    loop_type_struct loop_type;
+} close_multi_loop_cmd_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+} open_multi_loop_cmd_struct;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint8 chc;
+    kal_uint8 loop_mechanism;
+    kal_uint8 error_ind;
+} close_multi_loop_ack_result_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    close_multi_loop_ack_result_struct result;
+} close_multi_loop_ack;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 cipherresponse;
+    cipher_mode_setting_struct ciphermode;
+} cipher_mode_command_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 imeisvP;
+    imeisv_struct imeisv;
+} cipher_mode_complete_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 no_multi_slot_alloc;
+    kal_uint8 multi_slot_alloc_size;
+    kal_uint8 *multi_slot_alloc;
+    kal_uint8 channel_mode1P;
+    kal_uint8 channel_mode1;
+    kal_uint8 channel_mode2P;
+    kal_uint8 channel_mode2;
+    kal_uint8 channel_mode3P;
+    kal_uint8 channel_mode3;
+    kal_uint8 channel_mode4P;
+    kal_uint8 channel_mode4;
+    kal_uint8 channel_mode5P;
+    kal_uint8 channel_mode5;
+    kal_uint8 channel_mode6P;
+    kal_uint8 channel_mode6;
+    kal_uint8 channel_mode7P;
+    kal_uint8 channel_mode7;
+    kal_uint8 channel_mode8P;
+    kal_uint8 channel_mode8;
+} configuration_change_command_struct;
+
+typedef struct {
+    kal_uint8 nci;
+    kal_uint8 rot;
+    kal_uint8 si;
+} sync_info_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint8 value;
+} real_time_diff_struct;
+
+typedef struct {
+    kal_uint8 length;
+    kal_uint32 value;
+    kal_uint8 spare;
+} mob_obs_time_diff_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    cell_description_struct cell_description;
+    channel_description_struct channel_desc1;
+    kal_uint8 handover_ref;
+    power_command_struct power_command;
+    kal_uint8 sync_indP;
+    sync_info_struct sync_ind;
+    kal_uint8 freq_short_list1P;
+    frequency_short_list_struct freq_short_list1;
+    kal_uint8 freq_list1P;
+    frequency_list_struct freq_list1;
+    kal_uint8 cell_channel_descP;
+    cell_channel_description_struct cell_channel_desc;
+    kal_uint8 multi_slot_allocP;
+    kal_uint8 no_multi_slot_alloc;
+    kal_uint8 multi_slot_alloc_size;
+    kal_uint8 *multi_slot_alloc;
+    kal_uint8 channel_mode1P;
+    kal_uint8 channel_mode1;
+    kal_uint8 channel_mode2P;
+    kal_uint8 channel_mode2;
+    kal_uint8 channel_mode3P;
+    kal_uint8 channel_mode3;
+    kal_uint8 channel_mode4P;
+    kal_uint8 channel_mode4;
+    kal_uint8 channel_mode5P;
+    kal_uint8 channel_mode5;
+    kal_uint8 channel_mode6P;
+    kal_uint8 channel_mode6;
+    kal_uint8 channel_mode7P;
+    kal_uint8 channel_mode7;
+    kal_uint8 channel_mode8P;
+    kal_uint8 channel_mode8;
+    kal_uint8 channel_desc2P;
+    channel_description_struct channel_desc2;
+    kal_uint8 channel_mode9P;
+    kal_uint8 channel_mode9;
+    kal_uint8 freq_channel_seq_aftP;
+    frequency_channel_sequence_struct freq_channel_seq_aft;
+    kal_uint8 mobile_alloc1P;
+    kal_uint8 no_mobile_alloc1;
+    kal_uint8 mobile_alloc1_size;
+    kal_uint8 *mobile_alloc1;
+    kal_uint8 starting_timeP;
+    rmc_start_time_struct starting_time;
+    kal_uint8 rtdP;
+    real_time_diff_struct rtd;
+    kal_uint8 timing_advP;
+    kal_uint8 timing_adv;
+    kal_uint8 freq_short_list2P;
+    frequency_short_list_struct freq_short_list2;
+    kal_uint8 freq_list2P;
+    frequency_list_struct freq_list2;
+    kal_uint8 channel_desc3P;
+    channel_description_struct channel_desc3;
+    kal_uint8 channel_desc4P;
+    channel_description_struct channel_desc4;
+    kal_uint8 freq_channel_seq_bfrP;
+    frequency_channel_sequence_struct freq_channel_seq_bfr;
+    kal_uint8 mobile_alloc2P;
+    kal_uint8 no_mobile_alloc2;
+    kal_uint8 mobile_alloc2_size;
+    kal_uint8 *mobile_alloc2;
+    kal_uint8 cipher_modeP;
+    cipher_mode_setting_struct cipher_mode;
+    kal_uint8 vgcs_target_modeP;
+    vgcs_target_mode_indication_struct vgcs_target_mode;
+    kal_uint8 multi_rate_configP;
+    kal_uint8 no_multi_rate_config;
+    kal_uint8 multi_rate_config_size;
+    /* kal_uint8 *multi_rate_config; */
+	kal_uint8 multirate_speech_version;
+	kal_uint8 nscb;
+	kal_uint8 icmi;
+	kal_uint8 start_mode;
+	kal_uint8 active_codec_set;
+	kal_uint8 threshold[3];
+	kal_uint8 hysteresis[3];
+} handover_command_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 motdP;
+    mob_obs_time_diff_struct motd;
+} handover_complete_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 timing_adv;
+} physical_information_struct;
+
+typedef struct {
+    kal_uint8 no_apdu_alloc;
+    kal_uint8 *apdu_alloc;
+} apdu_data_struct;
+
+typedef enum {
+    RRLP = 0,
+    ETWS = 1
+} enum_apdu_id;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    kal_uint8 spare_bit;
+	kal_uint8 first_seg;
+	kal_uint8 last_seg;
+	kal_uint8 cr_id;
+	enum_apdu_id apdu_id;
+	apdu_data_struct apdu_data;
+} application_information_struct;
+
+typedef struct {
+    kal_uint8 random_acc_info; 
+} channel_request_struct_1;
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    channel_description_struct channel_desc;
+    rmc_mobile_alloc_struct mob_alloc;
+    rmc_start_time_struct starting_time;
+    kal_uint8 cell_channel_descP;
+    cell_channel_description_struct cell_channel_desc;
+} frequency_redefinition_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    channel_description_struct channel_desc;
+    kal_uint8 channel_mode;
+    kal_uint8 vgcs_target_modeP;
+    vgcs_target_mode_indication_struct vgcs_target_mode;
+    kal_uint8 multi_rate_configP;
+    kal_uint8 no_multi_rate_config;
+    kal_uint8 multi_rate_config_size;
+    /* kal_uint8 *multi_rate_config; */
+	kal_uint8 multirate_speech_version;
+	kal_uint8 nscb;
+	kal_uint8 icmi;
+	kal_uint8 start_mode;
+	kal_uint8 active_codec_set;
+	kal_uint8 threshold[3];
+	kal_uint8 hysteresis[3];
+} channel_mode_modify_struct;
+
+typedef struct {
+    kal_uint8 skip_indicator;
+    kal_uint8 protocol_disc;
+    kal_uint8 message_type;
+    channel_description_struct channel_desc;
+    kal_uint8 channel_mode;
+} channel_mode_modify_ack_struct;
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/si_peer.h b/mcu/protocol/interface/asn/rr/include/si_peer.h
new file mode 100644
index 0000000..117986e
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/si_peer.h
@@ -0,0 +1,126 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/******************************************************************************
+ * Filename:
+ * ---------
+ *	si_peer.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *=============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *=============================================================================
+ ******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _SI_PEER_H_
+#define _SI_PEER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef TEST_TOOL
+#include "tt_defs.h"
+#endif
+
+#ifdef TOOL
+#include "set_si_peer.h"
+#include "get_si_peer.h"
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/si_peer_pun.h b/mcu/protocol/interface/asn/rr/include/si_peer_pun.h
new file mode 100644
index 0000000..b3fa39b
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/si_peer_pun.h
@@ -0,0 +1,566 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  si_peer_pun.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : si_peer_pun.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifdef MTK_PEER 
+#define IMP __declspec(dllimport) 
+#else 
+#define IMP 
+#endif 
+#ifndef _SI_PEER_PUN_H
+#define _SI_PEER_PUN_H
+
+#define ctrl_chan_desc_struct_size(x) 3
+IMP unsigned int ctrl_chan_desc_struct_bits(void *);
+IMP void ctrl_chan_desc_struct_alloc(void *);
+IMP void ctrl_chan_desc_struct_dealloc(void *);
+IMP unsigned int ctrl_chan_desc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ctrl_chan_desc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define celloptions_size(x) 1
+IMP unsigned int celloptions_bits(void *);
+IMP void celloptions_alloc(void *);
+IMP void celloptions_dealloc(void *);
+IMP unsigned int celloptions_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int celloptions_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define cellselectionparams_size(x) 2
+IMP unsigned int cellselectionparams_bits(void *);
+IMP void cellselectionparams_alloc(void *);
+IMP void cellselectionparams_dealloc(void *);
+IMP unsigned int cellselectionparams_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int cellselectionparams_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define rachparams_size(x) 3
+IMP unsigned int rachparams_bits(void *);
+IMP void rachparams_alloc(void *);
+IMP void rachparams_dealloc(void *);
+IMP unsigned int rachparams_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rachparams_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si1restoct_bits(void *);
+IMP void si1restoct_alloc(void *);
+IMP void si1restoct_dealloc(void *);
+IMP unsigned int si1restoct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si1restoct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define selectionparams_size(x) 2
+IMP unsigned int selectionparams_bits(void *);
+IMP void selectionparams_alloc(void *);
+IMP void selectionparams_dealloc(void *);
+IMP unsigned int selectionparams_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int selectionparams_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pwroffset_size(x) 1
+IMP unsigned int pwroffset_bits(void *);
+IMP void pwroffset_alloc(void *);
+IMP void pwroffset_dealloc(void *);
+IMP unsigned int pwroffset_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pwroffset_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define gprsind_size(x) 1
+IMP unsigned int gprsind_bits(void *);
+IMP void gprsind_alloc(void *);
+IMP void gprsind_dealloc(void *);
+IMP unsigned int gprsind_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsind_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_3_rest_octet_struct_bits(void *);
+IMP void si_3_rest_octet_struct_alloc(void *);
+IMP void si_3_rest_octet_struct_dealloc(void *);
+IMP unsigned int si_3_rest_octet_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_3_rest_octet_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int lsa_identity_struct_bits(void *);
+IMP void lsa_identity_struct_alloc(void *);
+IMP void lsa_identity_struct_dealloc(void *);
+IMP unsigned int lsa_identity_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int lsa_identity_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int lsa_id_info_struct_bits(void *);
+IMP void lsa_id_info_struct_alloc(void *);
+IMP void lsa_id_info_struct_dealloc(void *);
+IMP unsigned int lsa_id_info_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int lsa_id_info_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define mcc_mnc_struct_size(x) 3
+IMP unsigned int mcc_mnc_struct_bits(void *);
+IMP void mcc_mnc_struct_alloc(void *);
+IMP void mcc_mnc_struct_dealloc(void *);
+IMP unsigned int mcc_mnc_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int mcc_mnc_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int lsa_params_struct_bits(void *);
+IMP void lsa_params_struct_alloc(void *);
+IMP void lsa_params_struct_dealloc(void *);
+IMP unsigned int lsa_params_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int lsa_params_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_4_rest_octet_s_struct_bits(void *);
+IMP void si_4_rest_octet_s_struct_alloc(void *);
+IMP void si_4_rest_octet_s_struct_dealloc(void *);
+IMP unsigned int si_4_rest_octet_s_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_rest_octet_s_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si4restoct_bits(void *);
+IMP void si4restoct_alloc(void *);
+IMP void si4restoct_dealloc(void *);
+IMP unsigned int si4restoct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si4restoct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define maio_size(x) 2
+IMP unsigned int maio_bits(void *);
+IMP void maio_alloc(void *);
+IMP void maio_dealloc(void *);
+IMP unsigned int maio_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int maio_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define arfcn_choice_size(x) 2
+IMP unsigned int arfcn_choice_bits(void *);
+IMP void arfcn_choice_alloc(void *);
+IMP void arfcn_choice_dealloc(void *);
+IMP unsigned int arfcn_choice_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcn_choice_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int channeldesc_bits(void *);
+IMP void channeldesc_alloc(void *);
+IMP void channeldesc_dealloc(void *);
+IMP unsigned int channeldesc_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int channeldesc_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define pchinf_size(x) 1
+IMP unsigned int pchinf_bits(void *);
+IMP void pchinf_alloc(void *);
+IMP void pchinf_dealloc(void *);
+IMP unsigned int pchinf_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int pchinf_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si6restoct_bits(void *);
+IMP void si6restoct_alloc(void *);
+IMP void si6restoct_dealloc(void *);
+IMP unsigned int si6restoct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si6restoct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rfl_number_struct_bits(void *);
+IMP void rfl_number_struct_alloc(void *);
+IMP void rfl_number_struct_dealloc(void *);
+IMP unsigned int rfl_number_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rfl_number_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int rfl_number_list_struct_bits(void *);
+IMP void rfl_number_list_struct_alloc(void *);
+IMP void rfl_number_list_struct_dealloc(void *);
+IMP unsigned int rfl_number_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int rfl_number_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int ma_struct_bits(void *);
+IMP void ma_struct_alloc(void *);
+IMP void ma_struct_dealloc(void *);
+IMP unsigned int ma_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int ma_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int arfcn_index_list1_struct_bits(void *);
+IMP void arfcn_index_list1_struct_alloc(void *);
+IMP void arfcn_index_list1_struct_dealloc(void *);
+IMP unsigned int arfcn_index_list1_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int arfcn_index_list1_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_arfcn_index_list_struct_bits(void *);
+IMP void si_arfcn_index_list_struct_alloc(void *);
+IMP void si_arfcn_index_list_struct_dealloc(void *);
+IMP unsigned int si_arfcn_index_list_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_arfcn_index_list_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int gprsmoballocstruct_bits(void *);
+IMP void gprsmoballocstruct_alloc(void *);
+IMP void gprsmoballocstruct_dealloc(void *);
+IMP unsigned int gprsmoballocstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int gprsmoballocstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int sinonhopppbcchcarr_bits(void *);
+IMP void sinonhopppbcchcarr_alloc(void *);
+IMP void sinonhopppbcchcarr_dealloc(void *);
+IMP unsigned int sinonhopppbcchcarr_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sinonhopppbcchcarr_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int sibcchcarstruct_bits(void *);
+IMP void sibcchcarstruct_alloc(void *);
+IMP void sibcchcarstruct_dealloc(void *);
+IMP unsigned int sibcchcarstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sibcchcarstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int sipbcchdescstruct_bits(void *);
+IMP void sipbcchdescstruct_alloc(void *);
+IMP void sipbcchdescstruct_dealloc(void *);
+IMP unsigned int sipbcchdescstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sipbcchdescstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int sippbcchstruct_bits(void *);
+IMP void sippbcchstruct_alloc(void *);
+IMP void sippbcchstruct_dealloc(void *);
+IMP unsigned int sippbcchstruct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int sippbcchstruct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si13restoct_bits(void *);
+IMP void si13restoct_alloc(void *);
+IMP void si13restoct_dealloc(void *);
+IMP unsigned int si13restoct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si13restoct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define CELL_CH_DESC_BITMAP0_size(x) 16
+IMP unsigned int CELL_CH_DESC_BITMAP0_bits(void *);
+IMP void CELL_CH_DESC_BITMAP0_alloc(void *);
+IMP void CELL_CH_DESC_BITMAP0_dealloc(void *);
+IMP unsigned int CELL_CH_DESC_BITMAP0_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int CELL_CH_DESC_BITMAP0_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define nch_position_struct_size(x) 1
+IMP unsigned int nch_position_struct_bits(void *);
+IMP void nch_position_struct_alloc(void *);
+IMP void nch_position_struct_dealloc(void *);
+IMP unsigned int nch_position_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int nch_position_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_1_rest_octet_struct_bits(void *);
+IMP void si_1_rest_octet_struct_alloc(void *);
+IMP void si_1_rest_octet_struct_dealloc(void *);
+IMP unsigned int si_1_rest_octet_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_1_rest_octet_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_1_struct_bits(void *);
+IMP void si_1_struct_alloc(void *);
+IMP void si_1_struct_dealloc(void *);
+IMP unsigned int si_1_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_1_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define neigh_cells_desc1_struct_size(x) 16
+IMP unsigned int neigh_cells_desc1_struct_bits(void *);
+IMP void neigh_cells_desc1_struct_alloc(void *);
+IMP void neigh_cells_desc1_struct_dealloc(void *);
+IMP unsigned int neigh_cells_desc1_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int neigh_cells_desc1_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define neigh_cells_desc2_struct_size(x) 16
+IMP unsigned int neigh_cells_desc2_struct_bits(void *);
+IMP void neigh_cells_desc2_struct_alloc(void *);
+IMP void neigh_cells_desc2_struct_dealloc(void *);
+IMP unsigned int neigh_cells_desc2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int neigh_cells_desc2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2_struct_size(x) 23
+IMP unsigned int si_2_struct_bits(void *);
+IMP void si_2_struct_alloc(void *);
+IMP void si_2_struct_dealloc(void *);
+IMP unsigned int si_2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2bis_rest_octets_struct_size(x) 1
+IMP unsigned int si_2bis_rest_octets_struct_bits(void *);
+IMP void si_2bis_rest_octets_struct_alloc(void *);
+IMP void si_2bis_rest_octets_struct_dealloc(void *);
+IMP unsigned int si_2bis_rest_octets_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2bis_rest_octets_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2bis_struct_size(x) 23
+IMP unsigned int si_2bis_struct_bits(void *);
+IMP void si_2bis_struct_alloc(void *);
+IMP void si_2bis_struct_dealloc(void *);
+IMP unsigned int si_2bis_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2bis_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2ter_rest_octets_struct_size(x) 4
+IMP unsigned int si_2ter_rest_octets_struct_bits(void *);
+IMP void si_2ter_rest_octets_struct_alloc(void *);
+IMP void si_2ter_rest_octets_struct_dealloc(void *);
+IMP unsigned int si_2ter_rest_octets_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2ter_rest_octets_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2ter_struct_size(x) 23
+IMP unsigned int si_2ter_struct_bits(void *);
+IMP void si_2ter_struct_alloc(void *);
+IMP void si_2ter_struct_dealloc(void *);
+IMP unsigned int si_2ter_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2ter_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2quater_rest_octets_struct_size(x) 20
+IMP unsigned int si_2quater_rest_octets_struct_bits(void *);
+IMP void si_2quater_rest_octets_struct_alloc(void *);
+IMP void si_2quater_rest_octets_struct_dealloc(void *);
+IMP unsigned int si_2quater_rest_octets_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2quater_rest_octets_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_2quater_struct_size(x) 23
+IMP unsigned int si_2quater_struct_bits(void *);
+IMP void si_2quater_struct_alloc(void *);
+IMP void si_2quater_struct_dealloc(void *);
+IMP unsigned int si_2quater_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_2quater_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define PLMN_size(x) 3
+IMP unsigned int PLMN_bits(void *);
+IMP void PLMN_alloc(void *);
+IMP void PLMN_dealloc(void *);
+IMP unsigned int PLMN_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int PLMN_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define LAI_size(x) 5
+IMP unsigned int LAI_bits(void *);
+IMP void LAI_alloc(void *);
+IMP void LAI_dealloc(void *);
+IMP unsigned int LAI_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int LAI_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_3_struct_bits(void *);
+IMP void si_3_struct_alloc(void *);
+IMP void si_3_struct_dealloc(void *);
+IMP unsigned int si_3_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_3_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_4_part1of4_struct_size(x) 13
+IMP unsigned int si_4_part1of4_struct_bits(void *);
+IMP void si_4_part1of4_struct_alloc(void *);
+IMP void si_4_part1of4_struct_dealloc(void *);
+IMP unsigned int si_4_part1of4_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_part1of4_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_4_part2of4_struct_bits(void *);
+IMP void si_4_part2of4_struct_alloc(void *);
+IMP void si_4_part2of4_struct_dealloc(void *);
+IMP unsigned int si_4_part2of4_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_part2of4_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_4_part3of4_struct_bits(void *);
+IMP void si_4_part3of4_struct_alloc(void *);
+IMP void si_4_part3of4_struct_dealloc(void *);
+IMP unsigned int si_4_part3of4_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_part3of4_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_4_part4of4_struct_bits(void *);
+IMP void si_4_part4of4_struct_alloc(void *);
+IMP void si_4_part4of4_struct_dealloc(void *);
+IMP unsigned int si_4_part4of4_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_part4of4_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_4_struct_bits(void *);
+IMP void si_4_struct_alloc(void *);
+IMP void si_4_struct_dealloc(void *);
+IMP unsigned int si_4_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_4_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_5_struct_size(x) 19
+IMP unsigned int si_5_struct_bits(void *);
+IMP void si_5_struct_alloc(void *);
+IMP void si_5_struct_dealloc(void *);
+IMP unsigned int si_5_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_5_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_5bis_struct_size(x) 19
+IMP unsigned int si_5bis_struct_bits(void *);
+IMP void si_5bis_struct_alloc(void *);
+IMP void si_5bis_struct_dealloc(void *);
+IMP unsigned int si_5bis_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_5bis_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_5ter_struct_size(x) 19
+IMP unsigned int si_5ter_struct_bits(void *);
+IMP void si_5ter_struct_alloc(void *);
+IMP void si_5ter_struct_dealloc(void *);
+IMP unsigned int si_5ter_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_5ter_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_6_struct_bits(void *);
+IMP void si_6_struct_alloc(void *);
+IMP void si_6_struct_dealloc(void *);
+IMP unsigned int si_6_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_6_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_7_struct_bits(void *);
+IMP void si_7_struct_alloc(void *);
+IMP void si_7_struct_dealloc(void *);
+IMP unsigned int si_7_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_7_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_8_struct_bits(void *);
+IMP void si_8_struct_alloc(void *);
+IMP void si_8_struct_dealloc(void *);
+IMP unsigned int si_8_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_8_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_9_part1of2_struct_size(x) 6
+IMP unsigned int si_9_part1of2_struct_bits(void *);
+IMP void si_9_part1of2_struct_alloc(void *);
+IMP void si_9_part1of2_struct_dealloc(void *);
+IMP unsigned int si_9_part1of2_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_9_part1of2_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_13_struct_bits(void *);
+IMP void si_13_struct_alloc(void *);
+IMP void si_13_struct_dealloc(void *);
+IMP unsigned int si_13_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_13_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_16_struct_bits(void *);
+IMP void si_16_struct_alloc(void *);
+IMP void si_16_struct_dealloc(void *);
+IMP unsigned int si_16_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_16_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_17_struct_bits(void *);
+IMP void si_17_struct_alloc(void *);
+IMP void si_17_struct_dealloc(void *);
+IMP unsigned int si_17_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_17_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_non_gsm_msg_struct_bits(void *);
+IMP void si_non_gsm_msg_struct_alloc(void *);
+IMP void si_non_gsm_msg_struct_dealloc(void *);
+IMP unsigned int si_non_gsm_msg_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_non_gsm_msg_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int SI18_REST_OCTETS_bits(void *);
+IMP void SI18_REST_OCTETS_alloc(void *);
+IMP void SI18_REST_OCTETS_dealloc(void *);
+IMP unsigned int SI18_REST_OCTETS_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int SI18_REST_OCTETS_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_18_struct_bits(void *);
+IMP void si_18_struct_alloc(void *);
+IMP void si_18_struct_dealloc(void *);
+IMP unsigned int si_18_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_18_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define SI_19_REST_OCTETS_size(x) 20
+IMP unsigned int SI_19_REST_OCTETS_bits(void *);
+IMP void SI_19_REST_OCTETS_alloc(void *);
+IMP void SI_19_REST_OCTETS_dealloc(void *);
+IMP unsigned int SI_19_REST_OCTETS_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int SI_19_REST_OCTETS_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#define si_19_struct_size(x) 23
+IMP unsigned int si_19_struct_bits(void *);
+IMP void si_19_struct_alloc(void *);
+IMP void si_19_struct_dealloc(void *);
+IMP unsigned int si_19_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_19_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+IMP unsigned int si_20_struct_bits(void *);
+IMP void si_20_struct_alloc(void *);
+IMP void si_20_struct_dealloc(void *);
+IMP unsigned int si_20_struct_pack(kal_uint8 *, void *, unsigned int);
+IMP unsigned int si_20_struct_unpack(void *, kal_uint8 *, unsigned int, unsigned int, void *);
+
+#endif 
+
+
diff --git a/mcu/protocol/interface/asn/rr/include/si_peer_struct.h b/mcu/protocol/interface/asn/rr/include/si_peer_struct.h
new file mode 100644
index 0000000..4ea7596
--- /dev/null
+++ b/mcu/protocol/interface/asn/rr/include/si_peer_struct.h
@@ -0,0 +1,709 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *  si_peer_struct.h
+ *
+ * Project:
+ * --------
+ *  MAUI
+ *
+ * Description:
+ * ------------
+ *  
+ *
+ * Author:
+ * -------
+ *  
+ *
+ *==============================================================================
+ * 				HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *------------------------------------------------------------------------------
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+*  Copyright Statement:
+*  --------------------
+*
+*  This product has been developed using a protocol stack
+*  developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ *  FILENAME : si_peer_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _SI_PEER_STRUCT_H
+#define _SI_PEER_STRUCT_H
+
+/* Suggest Add for RHR */
+#include "rr_spare_bit.h"
+#include "nstd_spare_bit_struct.h"
+#include "l3_inc_enums.h"
+#ifdef __PS_SERVICE__
+#include "psipeer_struct.h"
+#endif
+
+typedef struct {
+    kal_uint8 mscr;
+    kal_uint8 att;
+    kal_uint8 bsagblksres;
+    kal_uint8 ccchconf;
+    kal_uint8 spare; /* version check req*/
+    kal_uint8 cbq2;
+    kal_uint8 bspamfrms;
+    kal_uint8 t3212val;
+} ctrl_chan_desc_struct;
+
+typedef struct {
+    kal_uint8 dtx_or_spare;
+    kal_uint8 pwrc;
+    kal_uint8 dtx;
+    kal_uint8 radio_link_timeout;
+} celloptions;
+
+typedef struct {
+    kal_uint8 cell_resel_hyst;
+    kal_uint8 txpwr_max_cch;
+    kal_uint8 acs;
+    kal_uint8 neci;
+    kal_uint8 rxlev_acc_min;
+} cellselectionparams;
+
+typedef struct {
+    kal_uint8 maxretrans;
+    kal_uint8 txint;
+    kal_uint8 cellbaracc;
+    kal_uint8 re;
+    kal_uint8 accctrlclass_2;
+    kal_uint8 ec;
+    kal_uint16 accctrlclass_1;
+} rachparams;
+
+typedef struct {
+    rr_spare_bit_enum ch1_tag;
+    union {
+        kal_uint8 nchpos;
+    } ch1_value;
+} si1restoct;
+
+typedef struct {
+    kal_uint8 cbq;
+    kal_uint8 cellreseloffset;
+    kal_uint8 tempoffset;
+    kal_uint8 penaltytime;
+} selectionparams;
+
+typedef struct {
+    kal_uint8 offset;
+} pwroffset;
+
+typedef struct {
+    kal_uint8 racolor;
+    kal_uint8 si13pos;
+} gprsind;
+
+typedef struct {
+    rr_spare_bit_enum ch1_tag;
+    union {
+        selectionparams selparams;
+    } ch1_value;
+    rr_spare_bit_enum ch12_tag;
+    union {
+        pwroffset pwroff;
+    } ch12_value;
+    SPARE_BIT_TYPE si2terind;
+    SPARE_BIT_TYPE earlyclassmark;
+    rr_spare_bit_enum ch2_tag;
+    union {
+        kal_uint8 scheduling;
+    } ch2_value;
+    rr_spare_bit_enum ch3_tag;
+    union {
+        gprsind gprsindication;
+    } ch3_value;
+} si_3_rest_octet_struct;
+
+typedef struct {
+    is_present_enum ID_tag;
+    union {
+        kal_uint32 lsa_id;
+        kal_uint16 short_lsa_id;
+    } ID_value;
+} lsa_identity_struct;
+
+typedef struct {
+    unsigned int no_lsa_id_info;
+    unsigned int lsa_id_info_size;
+    lsa_identity_struct *lsa_id_info;
+} lsa_id_info_struct;
+
+typedef struct {
+    kal_uint16 mcc;
+    kal_uint16 mnc;
+} mcc_mnc_struct;
+
+typedef struct {
+    kal_uint8 prio_thr;
+    kal_uint8 lsa_offset;
+    is_present_enum MCC_tag;
+    union {
+        mcc_mnc_struct mcc_mnc;
+    } MCC_value;
+} lsa_params_struct;
+
+typedef struct {
+    rr_spare_bit_enum ch1_tag;
+    union {
+        lsa_params_struct lsapara;
+    } ch1_value;
+    rr_spare_bit_enum ch2_tag;
+    union {
+        kal_uint16 cellid;
+    } ch2_value;
+    rr_spare_bit_enum ch3_tag;
+    union {
+        lsa_id_info_struct lsaidinfo;
+    } ch3_value;
+} si_4_rest_octet_s_struct;
+
+typedef struct {
+    rr_spare_bit_enum ch1_tag;
+    union {
+        selectionparams selparams;
+    } ch1_value;
+    rr_spare_bit_enum ch2_tag;
+    union {
+        pwroffset pwroff;
+    } ch2_value;
+    rr_spare_bit_enum ch3_tag;
+    union {
+        gprsind gprsindication;
+    } ch3_value;
+    rr_spare_bit_enum ch4_tag;
+    union {
+        kal_uint8 ibreak;
+        si_4_rest_octet_s_struct si4_s;
+    } ch4_value;
+} si4restoct;
+
+typedef struct {
+    kal_uint8 maio;
+    kal_uint8 hsn;
+} maio;
+
+typedef struct {
+    kal_uint8 spare;
+    kal_uint16 arfcn;
+} arfcn_choice;
+
+typedef struct {
+    kal_uint8 chan_type;
+    kal_uint8 tn;
+    kal_uint8 tsc;
+    is_present_enum h_tag;
+    union {
+        maio maioandhsn;
+        arfcn_choice arfcn;
+    } h_value;
+} channeldesc;
+
+typedef struct {
+    kal_uint8 restruct;
+    kal_uint8 nln;
+    kal_uint8 callprio;
+    kal_uint8 nlnstatus;
+} pchinf;
+
+typedef struct {
+    rr_spare_bit_enum ch1_tag;
+    union {
+        pchinf pchinfo;
+    } ch1_value;
+    rr_spare_bit_enum ch2_tag;
+    union {
+        kal_uint8 vbsopts;
+    } ch2_value;
+} si6restoct;
+
+typedef struct {
+    unsigned int no_rfl_number;
+    unsigned int rfl_number_size;
+    kal_uint8 *rfl_number;
+} rfl_number_struct;
+
+typedef struct {
+    is_present_enum ch1_tag;
+    union {
+        rfl_number_struct rfl_number;
+    } ch1_value;
+} rfl_number_list_struct;
+
+typedef struct {
+    kal_uint8 ma_length;
+    kal_uint8 no_ma_bitmap;
+    kal_uint8 ma_bitmap_size;
+    kal_uint8 *ma_bitmap;
+} ma_struct;
+
+typedef struct {
+    unsigned int no_arfcn_index;
+    unsigned int arfcn_index_size;
+    kal_uint8 *arfcn_index;
+} arfcn_index_list1_struct;
+
+typedef struct {
+    is_present_enum ch1_tag;
+    union {
+        arfcn_index_list1_struct arfcn_index_list_struct;
+    } ch1_value;
+} si_arfcn_index_list_struct;
+
+typedef struct {
+    kal_uint8 hsn;
+    is_present_enum ch1_tag;
+    union {
+        rfl_number_list_struct rfl_number_list;
+    } ch1_value;
+    is_present_enum ch2_tag;
+    union {
+        ma_struct ma_lengh_and_bitmap;
+        si_arfcn_index_list_struct arfcn_index_list;
+    } ch2_value;
+} gprsmoballocstruct;
+
+typedef struct {
+    is_present_enum pbcchcarr_tag;
+    union {
+        kal_uint16 arfcn;
+    } pbcchcarr_value;
+} sinonhopppbcchcarr;
+
+typedef struct {
+    is_present_enum ch228_tag;
+    union {
+        kal_uint8 maio;
+        sinonhopppbcchcarr nonhoppcarr;
+    } ch228_value;
+} sibcchcarstruct;
+
+typedef struct {
+    kal_uint8 pb; /* pb*/
+    kal_uint8 tsc; /* TSC*/
+    kal_uint8 tn; /* TN*/
+    sibcchcarstruct bcchcar; /* BCCHCARSTRUCT*/
+} sipbcchdescstruct;
+
+typedef struct {
+    kal_uint8 psi1_rep_per; /* PSI1 REPEAT PERIOD*/
+    sipbcchdescstruct pbcch; /* PBCCHDESCSTRUCT*/
+} sippbcchstruct;
+
+#ifdef __PS_SERVICE__
+typedef struct {
+    kal_uint8 bcch_chg_mark; /* BCCH CHG MARK*/
+    kal_uint8 sichgfield; /* SI CHG FIELD*/
+    is_present_enum ch229_tag;
+    union {
+        psimsgstruct ppsi13;
+    } ch229_value;
+    is_present_enum ch230_tag;
+    union {
+        apbcchstruct apbcch;
+        sippbcchstruct ppbcch;
+    } ch230_value;
+    rr_spare_bit_enum ch1_tag;
+    union {
+        kal_uint8 sgsnr;
+    } ch1_value;
+} si13restoct;
+#endif
+
+typedef struct {
+    kal_uint8 format_id;
+    kal_uint8 spare;
+    kal_uint8 ca_arfcn_1;
+    kal_uint8 ca_arfcn_2[15];
+} CELL_CH_DESC_BITMAP0;
+
+typedef struct {
+    kal_uint8 nchpos;
+} nch_position_struct;
+
+typedef struct {
+    rr_spare_bit_enum nch_present_tag;
+    union {
+        nch_position_struct nch_position;
+    } nch_present_value;
+} si_1_rest_octet_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type1msg_type;
+    CELL_CH_DESC_BITMAP0 cell_ch_desc;
+    rachparams rach_ctrl_params;
+    si_1_rest_octet_struct si1rest_octets;
+} si_1_struct;
+
+typedef struct {
+    kal_uint8 bitmap_1;
+    kal_uint8 ext_ind;
+    kal_uint8 ba_ind;
+    kal_uint8 bitmap_2;
+    kal_uint8 bitmap_3[15];
+} neigh_cells_desc1_struct;
+
+typedef struct {
+    kal_uint8 bitmap_1;
+    kal_uint8 multiband_reporting;
+    kal_uint8 ba_ind;
+    kal_uint8 bitmap_2;
+    kal_uint8 bitmap_3[15];
+} neigh_cells_desc2_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type2msg_type;
+    neigh_cells_desc1_struct bcch_freq_list;
+    kal_uint8 ncc_permitted;
+    rachparams rach_ctrl_params;
+} si_2_struct;
+
+typedef struct {
+    kal_uint8 rest_octet; /* TBD*/
+} si_2bis_rest_octets_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type2bis_msg_type;
+    neigh_cells_desc1_struct extbcch_freq_list;
+    rachparams rach_ctrl_params;
+    si_2bis_rest_octets_struct si2bis_rest_octets;
+} si_2bis_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct {
+    kal_uint8 mcc2;
+    kal_uint8 mcc1;
+    kal_uint8 mnc3;
+    kal_uint8 mcc3;
+    kal_uint8 mnc2;
+    kal_uint8 mnc1;
+} PLMN;
+
+typedef struct {
+    PLMN plmn;
+    kal_uint16 la_code;
+} LAI;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type3msg_type;
+    kal_uint16 cell_identity;
+    LAI lai;
+    ctrl_chan_desc_struct ctrl_ch_desc;
+    celloptions cell_options;
+    cellselectionparams cell_sel_params;
+    rachparams rach_ctrl_params;
+    si_3_rest_octet_struct si3rest_octets;
+} si_3_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type4msg_type;
+    LAI lai;
+    cellselectionparams cell_sel_params;
+    rachparams rach_ctrl_params;
+} si_4_part1of4_struct;
+
+typedef struct {
+    kal_uint8 cbch_ch_descP;
+    channeldesc cbch_ch_desc;
+} si_4_part2of4_struct;
+
+typedef struct {
+    kal_uint8 macP;
+    kal_uint32 mac;
+} si_4_part3of4_struct;
+
+typedef struct {
+    si4restoct si4rest_octet;
+} si_4_part4of4_struct;
+
+typedef struct {
+    si_4_part1of4_struct si4part1of4;
+    si_4_part2of4_struct si4part2of4;
+    si_4_part3of4_struct si4part3of4;
+    si_4_part4of4_struct si4part4of4;
+} si_4_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type5msg_type;
+    neigh_cells_desc1_struct bcch_freq_list;
+} si_5_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type5bis_msg_type;
+    neigh_cells_desc1_struct extbcch_freq_list;
+} si_5bis_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type5ter_msg_type;
+    neigh_cells_desc2_struct extbcch_freq_list;
+} si_5ter_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type6msg_type;
+    kal_uint16 cell_identity;
+    LAI lai;
+    celloptions cell_options;
+    kal_uint8 ncc_permitted;
+    si6restoct si6rest_octets;
+} si_6_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type7msg_type;
+    si4restoct si7rest_octets;
+} si_7_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type8msg_type;
+    si4restoct si8rest_octets;
+} si_8_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type9msg_type;
+    rachparams rach_ctrl_params;
+} si_9_part1of2_struct;
+
+#ifdef __PS_SERVICE__
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type13msg_type;
+    rr_spare_bit_enum ch1_tag;
+    union {
+        si13restoct si13rest_octets;
+    } ch1_value;
+} si_13_struct;
+#endif
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type16msg_type;
+    lsa_params_struct si16rest_octets;
+} si_16_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type17msg_type;
+    lsa_params_struct si17rest_octets;
+} si_17_struct;
+
+typedef struct {
+    kal_uint8 non_gsm_proto_disc;
+    kal_uint8 nrof_container_octets;
+    kal_uint8 no_container;
+    kal_uint8 container_size;
+    kal_uint8 *container; /* nrof_container_octets */
+} si_non_gsm_msg_struct;
+
+typedef struct {
+    kal_uint8 no_non_gsm_msg;
+    kal_uint8 non_gsm_msg_size;
+    si_non_gsm_msg_struct *non_gsm_msg; /* nrof_container_octets */
+} SI18_REST_OCTETS;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type13msg_type;
+    SI18_REST_OCTETS si18rest_octets;
+} si_18_struct;
+
+typedef struct {
+    kal_uint8 spare[20];
+} SI_19_REST_OCTETS;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type19msg_type;
+    SI_19_REST_OCTETS si19rest_octets;
+} si_19_struct;
+
+typedef struct {
+    kal_uint8 l2pseudo_length;
+    kal_uint8 skip_ind;
+    kal_uint8 rr_mgmt_proto_disc;
+    kal_uint8 si_type20msg_type;
+    SI18_REST_OCTETS si20rest_octets;
+} si_20_struct;
+#endif 
+
+