view src/g23m-gsm/alr2/alr_test/alr_constraints.cpp @ 303:f76436d19a7a default tip

!GPRS config: fix long-standing AT+COPS chance hanging bug There has been a long-standing bug in FreeCalypso going back years: sometimes in the AT command bring-up sequence of an ACI-only MS, the AT+COPS command would produce only a power scan followed by cessation of protocol stack activity (only L1 ADC traces), instead of the expected network search sequence. This behaviour was seen in different FC firmware versions going back to Citrine, and seemed to follow some law of chance, not reliably repeatable. This bug has been tracked down and found to be specific to !GPRS configuration, stemming from our TCS2/TCS3 hybrid and reconstruction of !GPRS support that was bitrotten in TCS3.2/LoCosto version. ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3 version and had to be pulled from TCS2 - but as it turns out, there is a new field in the MMR_REG_REQ primitive that needs to be set correctly, and that psa_mms.c module is the place where this initialization needed to be added.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Jun 2023 08:23:37 +0000
parents 3a14ee9a9843
children
line wrap: on
line source

/*
  +------------------------------------------------------------------------------
  |  File:       alr_constraints.cpp
  +------------------------------------------------------------------------------
  |              Copyright 2003 Texas Instruments
  |              All rights reserved.
  |
  |              This file is confidential and a trade secret of Texas Instruments.
  |              The receipt of or possession of this file does not convey
  |              any rights to reproduce or disclose its contents or to
  |              manufacture, use, or sell anything it may describe, in
  |              whole, or in part, without the specific written consent of
  |              Texas Instruments.
  +------------------------------------------------------------------------------
  | Purpose:     Contains test constraints for alr
  |
  +------------------------------------------------------------------------------
*/
#include "alr_constraints.h"


/*-------------------------------------------------------------------------------
 *
 *                            ARRAYS
 *
 *-------------------------------------------------------------------------------*/
const U8 L2_PAG_2_T1_A_ARRAY[23] = {
 	0x1D,
	0x06,
	0x22,
	0x00,
	0x05, 0x22, 0x33, 0x66,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B
};

T_raw cell_chan_desc_1() {
  T_raw bitbuf;
  bitbuf->l_buf = 128;
  bitbuf->o_buf = 0;
  const U8 CELL_CHAN_DESC_1[] = {
    0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
  	0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };
  bitbuf->buf = CELL_CHAN_DESC_1;
  return bitbuf;
}

T_raw cell_chan_desc_1_new() {
  T_raw bitbuf;
  bitbuf->l_buf = 128;
  bitbuf->o_buf = 0;
  const U8 CELL_CHAN_DESC_1_NEW[] = {
    0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
  	0x00, 0x18, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };
  bitbuf->buf = CELL_CHAN_DESC_1_NEW;
  return bitbuf;
}

T_raw neigh_cell_desc_1() {
  T_raw bitbuf;
  bitbuf->l_buf = 128;
  bitbuf->o_buf = 0;
  const U8 NEIGH_CELL_DESC_1[] = {
    0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
  	0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04
  };
  bitbuf->buf = NEIGH_CELL_DESC_1;
  return bitbuf;
}

T_raw neigh_cell_desc_2() {
  T_raw bitbuf;
  bitbuf->l_buf = 128;
  bitbuf->o_buf = 0;
  const U8 NEIGH_CELL_DESC_2[] = {
    0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
  	0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };
  bitbuf->buf = NEIGH_CELL_DESC_2;
  return bitbuf;
}

const U16 A_ARFCN_EMO_000[4] = {
	1,46,47,124
};

const U8 LIST_no_carriers[LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const U8 LIST_1_14_euro [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01
      };

const U8 LIST_140_150_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      };

const U8 LIST_155_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      };

const U8 LIST_975_euro[] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const U8 LIST_130_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

    /*  Constant for Whitelist with more than 35 carriers  */

const U8 LIST_garbage_euro[LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 
      0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00,
      0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};

const U8 LIST_130_140_150_250_155_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x08, 0x02, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const U8 LIST_1_14_23_124_euro [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x01
};

const U8 LIST_131_143_152_251_156_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x40, 0x04,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const U8 LIST_1024_1023_10_20_amr [LIST_MAX_SIZE] = {
      0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00
};

const U8 LIST_1_euro [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
      };

const U8 LIST_130_250_155_amr [LIST_MAX_SIZE] = {
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const U8 L_RXT5_30_25_20_20_20 [MAX_NUM_BANDS] = {
      0x1E, 0x19, 0x14, 0x14, 0x14
};


const U8 L_RXT5_20 [MAX_NUM_BANDS] = {
      0x14, 0x14, 0x14, 0x14, 0x14
};

/*-------------------------------------------------------------------------------
 *
 *                            PSTRUCTS
 *
 *-------------------------------------------------------------------------------*/
T_loc_area_ident loc_area_ident_2()
{
  const U8 MCC_2[3] = {
    0, 0, 0
  };
  const U8 MNC_2[3] = {
    0, 0, 0
  };
  T_loc_area_ident mstruct;
  mstruct->mcc = MCC_2;
  mstruct->mnc = MNC_2;
  mstruct->lac = 0x0200;
  return mstruct;
}
T_l2_frame l2_sys_info_1()
{
  const U8 L2_SYS_INFO_1_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x19,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
	  0x00, 0x00, 0x40,
	  0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_1_ARRAY;
  return pstruct;
}
T_l2_frame l2_sys_info_2()
{
  const U8 L2_SYS_INFO_2_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x1A,
	  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
	  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04,
	  0x01,
	  0x00, 0x00, 0x40
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_2_ARRAY;
  return pstruct;
}

T_l2_frame l2_sys_info_3()
{
  const U8 L2_SYS_INFO_3_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x1B,
	  0x37, 0x48,
	  0x21, 0xF3, 0x33, 0x21, 0x47,
	  0x28, 0x02, 0x06,
	  0x5F,
	  0x42, 0x56,
	  0x00, 0x00, 0x40,
	  0x2B, 0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_3_ARRAY;
  return pstruct;
}
T_l2_frame l2_sys_info_3_new()
{
  const U8 L2_SYS_INFO_3_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x1B,
	  0x00, 0x04,
	  0x21, 0xF3, 0x33, 0x21, 0x47,
	  0x28, 0x02, 0x06,
	  0x5F,
	  0x42, 0x56,
	  0x00, 0x00, 0x40,
	  0x2B, 0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_3_ARRAY;
  return pstruct;
}

T_l2_frame l2_sys_info_4()
{
  const U8 L2_SYS_INFO_4_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x1C,
	  0x21, 0xF3, 0x33, 0x21, 0x47,
	  0x42, 0x56,
	  0x00, 0x00, 0x40,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_4_ARRAY;
  return pstruct;
}
T_l2_frame l2_sys_info_4_acs()
{
  const U8 L2_SYS_INFO_4_ACS_ARRAY[23] = {
    0x59,
    0x06,
    0x1C,
    0x21, 0xF3, 0x33, 0x21, 0x47,
    0x42, 0xD6,
    0x00, 0x00, 0x40,
    0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
    0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_4_ACS_ARRAY;
  return pstruct;
}

T_l2_frame l2_sys_info_2q()
{
  const U8 L2_SYS_INFO_2Q_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x07, /*Msg type*/
	  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
	  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04,
	  0x01,
	  0x00, 0x00, 0x40
  };

  T_l2_frame pstruct;
  pstruct->content = L2_SYS_INFO_2Q_ARRAY;
  return pstruct;
}


T_cell_opt_sacch cell_opt_sacch_1()
{

  T_cell_opt_sacch mstruct;
  mstruct->dtx2_s = 0;
  mstruct->pow_ctrl = POW_CTRL_NO;
  mstruct->dtx_s = S_DTX_F_MAYUSE_H_DONTUSE;
  mstruct->rlt = 1;
  return mstruct;
}
T_rach_ctrl rach_ctrl_1()
{
  T_rach_ctrl mstruct;
  mstruct->max_retrans     = MAX_RETRANS_1;
  mstruct->tx_integer      = SPREAD_TRANS_3;
  mstruct->cell_bar_access = BARRED_NO;
  mstruct->re              = REESTAB_YES;
  mstruct->ac              = ACC_0005;
  return mstruct;
}
T_loc_area_ident loc_area_ident_1()
{
  const U8 MCC_1[3] = {
	  1,2,3
  };
  const U8 MNC_1[2] = {
	  3,3
  };
  T_loc_area_ident mstruct;
  mstruct->mcc = MCC_1;
  mstruct->mnc = MNC_1;
  mstruct->lac = 0x2147;
  return mstruct;
}
T_ctrl_chan_desc ctrl_chan_desc_1()
{
  T_ctrl_chan_desc mstruct;
  mstruct->att = CCD_ATT_NO;
  mstruct->bs_ag_blks_res = 5;
  mstruct->ccch_conf = CCD_CCCH_1_NOT_COMB;
  mstruct->bs_pa_mfrms = 2;
  mstruct->t3212 = 6;
  return mstruct;
}
T_cell_opt_bcch cell_opt_bcch_1()
{
  T_cell_opt_bcch mstruct;
  mstruct->pow_ctrl = POW_CTRL_YES;
  mstruct->dtx_b = B_DTX_SHALL_USE;
  mstruct->rlt = 15;
  return mstruct;
}
T_cell_select cell_select_1()
{
  T_cell_select mstruct;
  mstruct->cell_resel_hyst = CELL_HYST_4_DB;
  mstruct->ms_txpwr_max_cch = 2;
  mstruct->acs = ACS_USE_SI4	;
  mstruct->neci = NECI_YES;
  mstruct->rxlev_access_min = 22;
  return mstruct;
}
T_cell_select cell_select_2()
{
  T_cell_select mstruct;
  mstruct->cell_resel_hyst = CELL_HYST_4_DB;
  mstruct->ms_txpwr_max_cch = 2;
  mstruct->acs = ACS_USE_SI7	;
  mstruct->neci = NECI_YES;
  mstruct->rxlev_access_min = 22;
  return mstruct;
}
T_si7_rest_oct si7_rest_oct_1()
{
  T_si7_rest_oct mstruct;
  mstruct->opt_sel_par._skip;
  mstruct->pow_offs._skip;
  mstruct->gprs_indic._skip;
  mstruct->si4_rest_octets_s._skip;
  return mstruct;
}
T_si8_rest_oct si8_rest_oct_1()
{
  T_si8_rest_oct mstruct;
  mstruct->opt_sel_par._skip;
  mstruct->pow_offs._skip;
  mstruct->gprs_indic._skip;
  mstruct->si4_rest_octets_s._skip;
  return mstruct;
}
T_l2_frame l2_paging_req_1()
{
  const U8 L2_PAGING_REQ_1_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x21,
	  PAGING_NORM,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  T_l2_frame pstruct;
  pstruct->content = L2_PAGING_REQ_1_ARRAY;
  return pstruct;
}
T_l2_frame l2_paging_req_1_sab()
{
  const U8 L2_PAGING_REQ_1_SAB_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x21,
	  PAGING_SAME,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_PAGING_REQ_1_SAB_ARRAY;
  return pstruct;
}
T_l2_frame l2_paging_req_1_ext()
{
  const U8 L2_PAGING_REQ_1_EXT_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x21,
	  PAGING_EXT,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_PAGING_REQ_1_EXT_ARRAY;
  return pstruct;
}
T_l2_frame l2_paging_req_1_reo()
{
  const U8 L2_PAGING_REQ_1_REO_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x21,
	  PAGING_REORG,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  T_l2_frame pstruct;
  pstruct->content = L2_PAGING_REQ_1_REO_ARRAY;
  return pstruct;
}

T_l2_frame l2_imm_ass_hop()
{
  const U8 L2_IMM_ASS_HOP_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x3F,
	  0x00,
	  0x40, 0x10, 0x40,
	  0xFB, 0x21, 0x06,
	  0x1E,
	  0x01, 0x16,
	  0x2B,0x2B,0x2B,0x2B,0x2B,
	  0x2B,0x2B,0x2B,0x2B,0x2B
  };

  T_l2_frame pstruct;
  pstruct->content = L2_IMM_ASS_HOP_ARRAY;
  return pstruct;
}
T_page_mode page_mode_1()
{
  T_page_mode mstruct;
  mstruct->pm = PAGING_NORM;
  return mstruct;
}
T_chan_desc chan_desc_1()
{
  T_chan_desc mstruct;
  mstruct->chan_type = SDCCH_8_S0;
  mstruct->tn = 0;
  mstruct->tsc = 0;
  mstruct->hop = HOP_YES;
  mstruct->arfcn._skip;
  mstruct->maio = 1;
  mstruct->hsn = 0;
  return mstruct;
}
T_req_ref req_ref_1()
{
  T_req_ref mstruct;
  mstruct->ra = 0xFB;
  mstruct->t1 = 4;
  mstruct->t3 = 8;
  mstruct->t2 = 6;
  return mstruct;
}
T_time_advance time_advance_1()
{
  T_time_advance mstruct;
  mstruct->ta = 0x1E;
  return mstruct;
}
T_mob_alloc mob_alloc_1()
{
  const U8 MAC_1_elements[1] = {
	  0x16
  };
  T_ARRAY<U8> MAC_1(MAC_1_elements, SKIP_TO_END);

  T_mob_alloc mstruct;
  mstruct->mac = MAC_1;
  return mstruct;
}
T_l2_frame l2_no_content()
{
  const U8 EMPTY_FRAME_elements[1] = {
    0
  };
  T_ARRAY<U8> EMPTY_FRAME(EMPTY_FRAME_elements, SKIP_TO_END);

  T_l2_frame pstruct;
  pstruct->content = EMPTY_FRAME;
  return pstruct;
}

T_tb_meas_result tb_meas_result_1(U16 acc_lev,U8 acc_nbr)
{
   T_tb_meas_result pstruct;
   pstruct->arfcn = ARFCN_23;
   pstruct->rxlev = acc_lev;
   pstruct->num_meas = acc_nbr;
   return pstruct;
}

T_tb_meas_result tb_meas_result_2(U16 acc_lev,U8 acc_nbr)
{
   T_tb_meas_result pstruct;
   pstruct->arfcn = ARFCN_512;
   pstruct->rxlev = acc_lev;
   pstruct->num_meas = acc_nbr;
   return pstruct;
}
T_tb_meas_result tb_meas_empty()
{
   T_tb_meas_result pstruct;
   pstruct->arfcn = TB_INVALID_ARFCN;
   pstruct->rxlev = acc_level_0;
   pstruct->num_meas = acc_nbr_0;
   return pstruct;
}

T_ARRAY<T_tb_meas_result> tb_list_1()
{
   T_tb_meas_result array[TB_BA_LIST_SIZE] = {
        tb_meas_result_1(acc_level_4,acc_nbr_4), tb_meas_result_2(acc_level_5,acc_nbr_5), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty()
   };
   return array;
}
T_ARRAY<T_tb_meas_result> tb_list_2()
{
   T_tb_meas_result array[TB_BA_LIST_SIZE] = {
        tb_meas_result_1(acc_level_3,acc_nbr_3), tb_meas_result_2(acc_level_6,acc_nbr_6), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty()
   };
   return array;
}
T_ARRAY<T_tb_meas_result> tb_list_3()
{
   T_tb_meas_result array[TB_BA_LIST_SIZE] = {
        tb_meas_result_1(acc_level_2,acc_nbr_2), tb_meas_result_2(acc_level_7,acc_nbr_7), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
        tb_meas_empty(), tb_meas_empty()
   };
   return array;
}


T_ARRAY<T_meas_results> s_emo_meas_res_000()
{
  T_meas_results array[5];
  array[0]->arfcn  = CONST_1;
  array[0]->rx_lev = CONST_30;
  array[1]->arfcn  = CONST_46;
  array[1]->rx_lev = CONST_6;
  array[2]->arfcn  = CONST_47;
  array[2]->rx_lev = CONST_53;
  array[3]->arfcn  = CONST_124;
  array[3]->rx_lev = CONST_13;
  array[4]->arfcn  = CONST_23;
  array[4]->rx_lev = CONST_1;
  return array;
}
T_frequency_list freq_list()
{
  const U16 CHLIST_14_23_69_115_elements[4] = {
	  ARFCN_14,
	  ARFCN_23,
	  ARFCN_69,
	  ARFCN_115
  };
  T_ARRAY<U16> CHLIST_14_23_69_115(CHLIST_14_23_69_115_elements, SKIP_TO_END);

  T_frequency_list pstruct;
  pstruct->rf_chan_cnt = 4;
  pstruct->rf_chan_no.radio_freq = CHLIST_14_23_69_115;
  return pstruct;
}

/*-------------------------------------------------------------------------------
 *
 *                            PRIMITIVES
 *
 *-------------------------------------------------------------------------------*/

T_PRIMITIVE_UNION mph_power_req_1()
{
  T_MPH_POWER_REQ prim;
  prim->pch_interrupt = PCH_INTERRUPT;
  prim->freq_bands    = BAND_GSM_900;
  // New Element added in Cell Selection Improvement
  prim->search_mode   = FULL_SEARCH_MODE;
  prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
  prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
  prim->white_list.white_list_valid               = TRUE;
  prim->white_list.region                         = EUROPEAN_REGION;
  prim->white_list.list.channels                  = LIST_no_carriers;
  // New Element added in Cell Selection Improvement ends here
  return prim;
}


T_PRIMITIVE_UNION mph_power_req_variant(U8 search_mode, CHAR variant)
{
  T_MPH_POWER_REQ prim;
  prim->pch_interrupt = PCH_INTERRUPT;
  prim->freq_bands    = 0x1F;
  prim->search_mode   = search_mode;
  prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
  prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
  prim->white_list.white_list_valid               = TRUE;
  prim->white_list.region                         = EUROPEAN_REGION;
  prim->white_list.list.channels                  = LIST_no_carriers;
  prim->lower_rxlevel_threshold = L_RXT5_20;
  switch(variant)
  {  // Variant X will be used to execute the default case
    case 'A' :
      prim->pch_interrupt = NO_PCH_INTERRUPT;
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
      prim->white_list.list.channels                  = LIST_1_14_euro;
      break;
    case 'B' :
      prim->white_list.list.channels = LIST_1_14_euro;
      break;
    case 'C' :
      prim->white_list.list.channels = LIST_garbage_euro;
      break;
    case 'D' :
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_1024_1023_10_20_amr;
      break;
    case 'F' :
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
      prim->white_list.list.channels                  = LIST_1_14_euro;
      break;
    case 'G' :
      prim->freq_bands    = BAND_GSM_850;
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
      prim->white_list.list.channels                  = LIST_130_amr;
      break;
    case 'H' :
      prim->freq_bands    = BAND_GSM_850;
      prim->black_list.list[AMERICAN_REGION].channels = LIST_140_150_amr;
      prim->white_list.region                         = AMERICAN_REGION;
      prim->white_list.list.channels                  = LIST_130_amr;
      break;
    case 'I' :
      prim->freq_bands    = BAND_DUAL_US;
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
      prim->white_list.list.channels                  = LIST_1_14_euro;
      break;
    case 'J' :
      prim->white_list.white_list_valid               = FALSE;
      break;
    case 'K':
      prim->white_list.region                         = AMERICAN_REGION;
      prim->white_list.list.channels                  = LIST_130_amr;
      break;
    case 'L':
      prim->white_list.region                         = AMERICAN_REGION;
      prim->white_list.list.channels                  = LIST_131_143_152_251_156_amr;
      break;
    case 'M':
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_140_150_amr;
      prim->white_list.list.channels                  = LIST_1_14_euro;
      break;
    case 'N':
      prim->black_list.list[EUROPEAN_REGION].channels = LIST_975_euro;
      prim->white_list.list.channels                  = LIST_1_14_euro;
      break;
    case 'O':
      prim->lower_rxlevel_threshold = L_RXT5_30_25_20_20_20;
    default  :
      break;
  }
  return prim;
}


T_PRIMITIVE_UNION mph_power_req_2()
{
  T_MPH_POWER_REQ prim;
  prim->pch_interrupt = NO_PCH_INTERRUPT;
  prim->freq_bands = BAND_GSM_900;
  prim->search_mode   = FULL_SEARCH_MODE;
  prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
  prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
  prim->white_list.white_list_valid               = TRUE;
  prim->white_list.region                         = EUROPEAN_REGION;
  prim->white_list.list.channels                  = LIST_no_carriers;
  return prim;
}

T_PRIMITIVE_UNION mph_power_req_3()
{
  T_MPH_POWER_REQ prim;
  prim->pch_interrupt = PCH_INTERRUPT;
  prim->freq_bands = BAND_DCS_1800;
  prim->search_mode   = FULL_SEARCH_MODE;
  prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
  prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
  prim->white_list.white_list_valid               = TRUE;
  prim->white_list.region                         = EUROPEAN_REGION;
  prim->white_list.list.channels                  = LIST_no_carriers;
  return prim;
}

T_PRIMITIVE_UNION mph_power_req_4()
{
  T_MPH_POWER_REQ prim;
  prim->pch_interrupt = PCH_INTERRUPT;
  prim->freq_bands = BAND_DUAL;
  prim->search_mode                               = FULL_SEARCH_MODE;
  prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
  prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
  prim->white_list.white_list_valid               = TRUE;
  prim->white_list.region                         = EUROPEAN_REGION;
  prim->white_list.list.channels                  = LIST_no_carriers;
  return prim;
}

T_PRIMITIVE_UNION mphc_init_l1_req_1()
{
  T_MPHC_INIT_L1_REQ prim;
  prim->radio_band_config = STD_900;
  return prim;
}
T_PRIMITIVE_UNION mphc_init_l1_req_2()
{
  T_MPHC_INIT_L1_REQ prim;
  prim->radio_band_config = STD_EGSM;
  return prim;
}
T_PRIMITIVE_UNION mphc_init_l1_req_3()
{
  T_MPHC_INIT_L1_REQ prim;
  prim->radio_band_config = STD_1800;
  return prim;
}
T_PRIMITIVE_UNION mphc_init_l1_req_4()
{
  T_MPHC_INIT_L1_REQ prim;
  prim->radio_band_config = STD_DUAL;
  return prim;
}

T_PRIMITIVE_UNION mphc_init_l1_req(CHAR band)
{
  T_MPHC_INIT_L1_REQ prim;
  prim->radio_band_config = band;
  return prim;
}

T_PRIMITIVE_UNION mphc_init_l1_con_1()
{
  T_MPHC_INIT_L1_CON prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_rxlev_req()
{
  T_MPHC_RXLEV_REQ prim;
  prim->shared_ptr._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_rxlev_ind(U8 idx)
{
  T_MPHC_RXLEV_IND prim;
  prim->shared_ptr = idx;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_1()
{
  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_4;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn._skip;
  prim->rx_lev._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_one_ncell()
{
  const U16 ARFCN_32_elements[] = { ARFCN_32_STD_900 };
  T_ARRAY<U16> ARFCN_32a(ARFCN_32_elements, SKIP_TO_END);
  const U16 RXLEV_20_elements[] = { 20 };
  T_ARRAY<U16> RXLEV_20(RXLEV_20_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = 1;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn  = ARFCN_32a;
  prim->rx_lev = RXLEV_20;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_2()
{
  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_0;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn._skip;
  prim->rx_lev._skip;
  prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
  prim->inactive_carrier_list.list[1].channels = LIST_no_carriers;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_american()
{
  const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
    ARFCN_150_STD_850, ARFCN_140_STD_850, ARFCN_250_STD_850, ARFCN_130_STD_850
  };
  T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_14_124_1_elements[] = {
    250, 220, 125, 105
  };
  T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_4;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
  prim->rx_lev = RXLEV_23_14_124_1;
  prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
  prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_american1()
{
  const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
    ARFCN_130_STD_850, ARFCN_250_STD_850
  };
  T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_14_124_1_elements[] = {
    105, 125
  };
  T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_2;
  prim->num_of_white_list_chan = CHANNELS_1;
  prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
  prim->rx_lev = RXLEV_23_14_124_1;
  prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
  prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_3()
{
  const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
	  ARFCN_23_STD_900, ARFCN_14_STD_900, ARFCN_124_STD_900, ARFCN_1_STD_900
  };
  T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_14_124_1_elements[] = {
    56, 44, 25, 21
  };
  T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_4;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
  prim->rx_lev = RXLEV_23_14_124_1;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_32_whitelist()
{
  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_43;
  prim->num_of_white_list_chan = CHANNELS_32;
  prim->arfcn._show;
  prim->rx_lev._show;
  prim->inactive_carrier_list.list[0].channels._show;
  prim->inactive_carrier_list.list[1].channels._show;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_3_new()
{
  const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
     ARFCN_14_STD_EGSM, ARFCN_1_STD_EGSM, ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, 
       ARFCN_140_STD_DUAL_US,ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
  };
  T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_14_124_1_elements[] = {
    44, 21, 56, 50, 44, 25, 25, 21
  };
  T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_8;
  prim->num_of_white_list_chan = CHANNELS_2;
  prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
  prim->rx_lev = RXLEV_23_14_124_1;
  prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
  prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_same_white_black()
{
  const U16 ARFCN_23_124_WITH_STD_elements[] = {
     ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_140_STD_DUAL_US, 
         ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
  };
  T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_124_elements[] = {
    24, 50, 44, 25,  25, 21
  };
  T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_6;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_23_124_WITH_STD;
  prim->rx_lev._skip;
  prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
  prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_rxlevel(CHAR variant)
{
  U8 no_of_channels;
  const U16 ARFCN_23_124_WITH_STD_elements[] = {
     ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_140_STD_DUAL_US, 
         ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
  };

  T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_124_elements[] = {
    24, 250, 220, 125, 125, 105
  };

  const U8 FIVE_RXLEV_23_124_elements[] = {
    56, 50, 44, 25,  25, 21
  };

  T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);

  T_ARRAY<U8> FIVE_RXLEV_23_124(FIVE_RXLEV_23_124_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;

  no_of_channels = CHANNELS_6;
  switch(variant)
  {
    case 'A' :
      prim->rx_lev = FIVE_RXLEV_23_124;
      break;
    case 'C' :
      prim->num_of_chan = CHANNELS_0;
    case 'B' :
      prim->rx_lev = RXLEV_23_124;
      break;
  }
  prim->num_of_chan = no_of_channels;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_23_124_WITH_STD;
  prim->inactive_carrier_list.list[0].channels._skip;
  prim->inactive_carrier_list.list[1].channels._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_lrxt()
{
  const U16 ARFCN_23_124_WITH_STD_elements[] = {
     ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_14_STD_EGSM, 
     ARFCN_140_STD_DUAL_US, ARFCN_124_STD_EGSM
  };

  T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_23_124_elements[] = {
    56, 50, 44, 44, 25
  };

  T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;

  prim->num_of_chan = CHANNELS_5;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_23_124_WITH_STD;
  prim->rx_lev = RXLEV_23_124;
  prim->inactive_carrier_list.list[0].channels = LIST_1_euro;
  prim->inactive_carrier_list.list[1].channels = LIST_130_250_155_amr;
  return prim;
}


T_PRIMITIVE_UNION mph_power_cnf_black()
{
  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_6;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn._show;
  prim->rx_lev._show;
  prim->inactive_carrier_list.list[0].channels._show;
  prim->inactive_carrier_list.list[1].channels._show;
  return prim;
}


T_PRIMITIVE_UNION mph_power_cnf_4()
{
  const U16 ARFCN_637_580_885_512_WITH_STD_elements[CHANNELS_4] = {
	  ARFCN_637_STD_1800,
	  ARFCN_580_STD_1800,
	  ARFCN_885_STD_1800,
	  ARFCN_512_STD_1800
  };
  T_ARRAY<U16> ARFCN_637_580_885_512_WITH_STD(ARFCN_637_580_885_512_WITH_STD_elements, SKIP_TO_END);
  const U8 RXLEV_637_580_885_512_elements[CHANNELS_4] = {
	  56, 44, 25, 21
  };
  T_ARRAY<U8> RXLEV_637_580_885_512(RXLEV_637_580_885_512_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_4;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_637_580_885_512_WITH_STD;
  prim->rx_lev = RXLEV_637_580_885_512;
  return prim;
}
T_PRIMITIVE_UNION mph_power_cnf_5()
{
  const U16 ARFCN_DUAL_WITH_STD_elements[CHANNELS_8] = {
	  ARFCN_23_STD_DUAL,
	  ARFCN_637_STD_DUAL,
	  ARFCN_14_STD_DUAL,
	  ARFCN_580_STD_DUAL,
	  ARFCN_124_STD_DUAL,
	  ARFCN_885_STD_DUAL,
	  ARFCN_1_STD_DUAL,
	  ARFCN_512_STD_DUAL
  };
  T_ARRAY<U16> ARFCN_DUAL_WITH_STD(ARFCN_DUAL_WITH_STD_elements, SKIP_TO_END);

  const U8 RXLEV_DUAL_elements[CHANNELS_8] = {
	  56, 55, 44, 43, 25, 23, 21, 11
  };
  T_ARRAY<U8> RXLEV_DUAL(RXLEV_DUAL_elements, SKIP_TO_END);

  T_MPH_POWER_CNF prim;
  prim->num_of_chan = CHANNELS_8;
  prim->num_of_white_list_chan = CHANNELS_0;
  prim->arfcn = ARFCN_DUAL_WITH_STD;
  prim->rx_lev = RXLEV_DUAL;
  return prim;
}

T_PRIMITIVE_UNION mph_bsic_req(U16 arfcn)
{
  T_MPH_BSIC_REQ prim;
  prim->arfcn = arfcn;
  return prim;
}

T_PRIMITIVE_UNION mphc_network_sync_req(U16 arfcn, U8 mode)
{
  T_MPHC_NETWORK_SYNC_REQ prim;
  prim->radio_freq      = arfcn;
  prim->timing_validity = TV_INVALID_TIMING_INFO;
  prim->fn_offset       ._skip;
  prim->time_alignment  ._skip;
  prim->search_mode     = mode;
  return prim;
}

T_PRIMITIVE_UNION mphc_network_sync_ind_1()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_1;
  return prim;
}

T_PRIMITIVE_UNION mphc_network_sync_ind_32()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq     = ARFCN_32;
  prim->sb_flag        = SB_FOUND;
  prim->fn_offset      = FN_OFFSET_32;
  prim->time_alignment = TIME_ALIGNMT_32;
  prim->bsic           = BSIC_3;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_failed(U16 arfcn)
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq     = arfcn;
  prim->sb_flag        = NO_SB_FOUND;
  prim->fn_offset      = INVALID_PATTERN;
  prim->time_alignment = INVALID_PATTERN;
  prim->bsic           = INVALID_PATTERN;
  return prim;
}

T_PRIMITIVE_UNION mphc_network_sync_ind_6()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_7()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_124;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_8()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_1;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_9()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_1;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_14()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_580;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_15()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_885;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_16()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_512;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_network_sync_ind_17()
{
  T_MPHC_NETWORK_SYNC_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->sb_flag = SB_FOUND;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->bsic = BSIC_0;
  return prim;
}


T_PRIMITIVE_UNION mph_bsic_cnf_failed(U16 arfcn)
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = arfcn; //ARFCN_23_STD_900;
  prim->bsic  ._show; // the value is not defined, but it should not be INVALID_PATTERN
                      // but i don't know how to test this.
  prim->cs    = CS_NO_BCCH_AVAIL;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_cell32()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_32;
  prim->cs    = CS_NO_ERROR;
  prim->bsic  = BSIC_3;
  return prim;
}

T_PRIMITIVE_UNION mph_bsic_cnf_1()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_23_STD_900;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_6()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_14_STD_900;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_7()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_124_STD_900;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_8()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_1_STD_900;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_9()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn._skip;
  prim->bsic._skip;
  prim->cs = CS_NO_BCCH_AVAIL;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_10()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = CONST_1023;
  prim->bsic = CONST_12;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_14()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_14;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_15()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_124;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_16()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_1;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_17()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_637_STD_1800;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_22()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_580_STD_1800;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_23()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_885_STD_1800;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_24()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_512_STD_1800;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_25()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_23_STD_DUAL;
  prim->bsic = BSIC_1;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_33()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_637_STD_DUAL;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_34()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_14_STD_DUAL;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}
T_PRIMITIVE_UNION mph_bsic_cnf_35()
{
  T_MPH_BSIC_CNF prim;
  prim->arfcn = ARFCN_580_STD_DUAL;
  prim->bsic = BSIC_0;
  prim->cs = CS_NO_ERROR;
  return prim;
}

T_PRIMITIVE_UNION mphc_new_scell_req_1()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_23;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_1;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_2()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_14;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_3()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_124;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_4()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_1;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_5()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_637;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_1;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_6()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_580;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_7()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_885;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_8()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_512;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_9()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_637;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_10()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_14;
  prim->fn_offset = FN_OFF_ARFCN_14;
  prim->time_alignment = TIME_ALIGNMT_14;
  prim->tsc = BSIC_1;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_12()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_1;
  prim->fn_offset = FN_OFFSET_224;
  prim->time_alignment = TIME_ALIGNMT_14;
  prim->tsc = BSIC_2;
  return prim;
}
T_PRIMITIVE_UNION mphc_new_scell_req_13()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_14;
  prim->fn_offset = FN_OFFSET_224;
  prim->time_alignment = TIME_ALIGNMT_14;
  prim->tsc = BSIC_1;
  return prim;
}

T_PRIMITIVE_UNION mphc_new_scell_req_cell32()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq     = ARFCN_32;
  prim->fn_offset      = FN_OFFSET_32;
  prim->time_alignment = TIME_ALIGNMT_32;
  prim->tsc            = BSIC_3;
  return prim;
}


T_PRIMITIVE_UNION mphc_new_scell_con_1()
{
  T_MPHC_NEW_SCELL_CON prim;
  prim->param._skip;
  return prim;
}

/* BCCH */

T_PRIMITIVE_UNION mphc_data_ind_1()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_2()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_2();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_3()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_3();
  prim->tc = TC_2;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_4()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_4();
  prim->tc = TC_3;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_5()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_3;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_6()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_124;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_7()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_1;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_14()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_2;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_15()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_3();
  prim->tc = TC_4;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_16()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_5;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_17()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_6;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_18()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_7;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_35()
{
  const U8 L2_SYS_INFO_1_NEW_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x19,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x18, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
	  0x00, 0x00, 0x40,
	  0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_SYS_INFO_1_NEW_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_42()
{
T_MPHC_DATA_IND prim;
prim->radio_freq = ARFCN_637;
prim->l2_channel = L2_CHANNEL_NBCCH;
prim->error_flag = VALID_BLOCK;
prim->l2_frame = l2_sys_info_1();
prim->tc = TC_0;
prim->ccch_lev._skip;
prim->fn = FN_OFFSET_0;
return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_43()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_2();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_44()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_3();
  prim->tc = TC_2;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_45()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_4();
  prim->tc = TC_3;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_46()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_637;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_3;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_47()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_885;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_48()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_512;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_49()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_50()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_580;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_63()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_3();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFF_ARFCN_14;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_64()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_1();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFF_ARFCN_14;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_65()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_NBCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_2();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFF_ARFCN_14;
  return prim;
}

/* PCH, CCCH */


T_PRIMITIVE_UNION mphc_data_ind_8(CHAR variant)
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame = l2_paging_req_1_ext();
  if (variant == 'B')   prim->l2_frame = l2_paging_req_1_reo();
  if (variant == 'C')   prim->l2_frame = l2_paging_req_1_sab();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_9()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_paging_req_1_ext();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_10()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_paging_req_1_reo();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_11()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_paging_req_1();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_12(CHAR variant)
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame = l2_paging_req_1();
  if (variant == 'B')   prim->l2_frame = l2_paging_req_1_sab();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_13(CHAR variant)
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame = l2_paging_req_1_ext();
  if (variant == 'B')   prim->l2_frame = l2_paging_req_1_sab();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_19()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame = l2_no_content();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_20()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_CCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_imm_ass_hop();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_21()
{
  const U8 L2_IMM_ASS_REJ_ARRAY[13] = {
 	  0x31,
	  0x06,
	  0x3F,
	  0x00,
	  0x2B, 0x54, 0x94,
	  0xFB, 0x21, 0x06,
	  0x1B,
	  0x01, 0x16
  };
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_CCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_IMM_ASS_REJ_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_22()
{
  const U8 L2_IMM_ASS_ARRAY[13] = {
 	  0x31,
	  0x06,
	  0x3F,
	  0x00,
	  0x2B, 0x54, 0x94,
	  0xFB, 0x21, 0x06,
	  0x1B,
	  0x01, 0x16
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_CCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_IMM_ASS_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_23()
{
  const U8 L2_PAG_1_EMPTY_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x21,
	  0x00,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_1_EMPTY_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_24(CHAR variant)
{
  const U8 L2_PAG_1_I1_A_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x21,
	  0x00,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54, 0x17, 0x08,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_I2_A_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x21,
	  0x00,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x23,
	  0x03, 0x95, 0x54, 0x17, 0x08,
	  0x09, 0x10, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54
  };
  const U8 L2_PAG_1_I3_A_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x21,
	  0x00,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54, 0x17, 0x07,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x08
  };
  const U8 L2_PAG_1_T1_T_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x21,
	  0x20,
	  0x05,
	  0xF4, 0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_T2_T_ARRAY[23] = {
 	  0x41,
	  0x06,
	  0x21,
	  0x80,
	  0x05,
	  0xF4, 0x06, 0x22, 0x33, 0x66,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_TX_T_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x21,
	  0x20,
	  0x05,
	  0xF4, 0xFF, 0xEE, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_I1_S_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x21,
	  0x10,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_I2_S_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x21,
	  0x40,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x23,
	  0x03, 0x95, 0x54, 0x17, 0x08,
	  0x09, 0x10, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54
  };
  const U8 L2_PAG_1_T1_D_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x21,
	  0x30,
	  0x05,
	  0xF4, 0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_T2_D_ARRAY[23] = {
 	  0x41,
	  0x06,
	  0x21,
	  0xC0,
	  0x05,
	  0xF4, 0x06, 0x22, 0x33, 0x66,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_1_I1_A_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_1_I2_A_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_1_T1_T_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_1_T2_T_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_1_I1_S_ARRAY;
  if (variant == 'F')   prim->l2_frame.content = L2_PAG_1_I2_S_ARRAY;
  if (variant == 'G')   prim->l2_frame.content = L2_PAG_1_T1_D_ARRAY;
  if (variant == 'H')   prim->l2_frame.content = L2_PAG_1_T2_D_ARRAY;
  if (variant == 'I')   prim->l2_frame.content = L2_PAG_1_I3_A_ARRAY;
  if (variant == 'J')   prim->l2_frame.content = L2_PAG_1_TX_T_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_25(CHAR variant)
{
  const U8 L2_PAG_1_WI1_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x21,
	  0x10,
	  0x08,
	  0x09, 0x12, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_WI2_ARRAY[23] = {
 	  0x59,
	  0x06,
	  0x21,
	  0x40,
	  0x08,
	  0x09, 0x10, 0x10, 0x83, 0x23,
	  0x03, 0x95, 0x54, 0x17, 0x08,
	  0x09, 0x12, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54
  };
  const U8 L2_PAG_1_WT1_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x21,
	  0x30,
	  0x05,
	  0xF4, 0x06, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_WT2_ARRAY[23] = {
 	  0x41,
	  0x06,
	  0x21,
	  0xC0,
	  0x05,
	  0xF4, 0x06, 0x22, 0x33, 0x66,
	  0x17, 0x05, 0xF4, 0x05, 0x23,
	  0x33, 0x66, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_WTYPE_ARRAY[23] = {
 	  0x31,
	  0x06,
	  0x21,
	  0x10,
	  0x08,
	  0x0B, 0x12, 0x10, 0x83, 0x32,
	  0x03, 0x95, 0x54, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_1_WI1_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_1_WT1_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_1_WI1_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_1_WT2_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_1_WTYPE_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_26(CHAR variant)
{
  const U8 L2_PAG_1_ST1_A1_ARRAY[23] = {
 	  0x19,
	  0x06,
	  0x21,
	  0x00,
	  0x02,
	  0xF4, 142, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_ST2_T3_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x21,
	  0x80,
	  0x02,
	  0xF4, 143, 0x17, 0x03, 0xF4,
	  0x00, 142, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_SI1_S_ARRAY[23] = {
 	  0x29,
	  0x06,
	  0x21,
	  0x10,
	  0x06,
	  0x01, 0x10, 0x10, 0x83, 0x32,
	  0xF3, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_SI2_D_ARRAY[23] = {
 	  0x39,
	  0x06,
	  0x21,
	  0xC0,
	  0x02,
	  0xF4, 143, 0x17, 0x06, 0x01,
	  0x10, 0x10, 0x83, 0x32, 0xF3,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_1_ST1_A2_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x21,
	  0x00,
	  0x03,
	  0xF4, 0, 142, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B
  };
  const U8 L2_PAG_1_ST2_T4_ARRAY[23] = {
 	  0x35,
	  0x06,
	  0x21,
	  0x80,
	  0x02,
	  0xF4, 143, 0x17, 0x05, 0xF4,
	  0x00, 0x00, 0x00, 142, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_1_ST1_A1_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_1_ST2_T3_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_1_SI1_S_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_1_SI2_D_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_1_ST1_A2_ARRAY;
  if (variant == 'F')   prim->l2_frame.content = L2_PAG_1_ST2_T4_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_27()
{
  const U8 L2_PAG_2_EMPTY_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x22,
	  0x00,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_2_EMPTY_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_28(CHAR variant)
{
  const U8 L2_PAG_2_T1_S_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x22,
	  0x10,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_2_T1_T_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x22,
	  0x20,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_2_T1_D_ARRAY[23] = {
 	  0x1D,
	  0x06,
	  0x22,
	  0x30,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_2_T2_A_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x22,
	  0x00,
	  0x06, 0x22, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T2_S_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x22,
	  0x40,
	  0x05, 0x23, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T2_T_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x22,
	  0x80,
	  0x05, 0x22, 0x31, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T2_D_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x22,
	  0xC0,
	  0x05, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_2_T1_A_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_2_T1_S_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_2_T1_T_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_2_T1_D_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_2_T2_A_ARRAY;
  if (variant == 'F')   prim->l2_frame.content = L2_PAG_2_T2_S_ARRAY;
  if (variant == 'G')   prim->l2_frame.content = L2_PAG_2_T2_T_ARRAY;
  if (variant == 'H')   prim->l2_frame.content = L2_PAG_2_T2_D_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_29()
{
  const U8 L2_PAG_2_WRONG_ARRAY[23] = {
 	  0x2D,
	  0x06,
	  0x22,
	  0x30,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_2_WRONG_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_30(CHAR variant)
{
  const U8 L2_PAG_2_I3_A_ARRAY[23] = {
 	  0x55,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x08, 0x09, 0x10, 0x10,
	  0x83, 0x32, 0x03, 0x95, 0x54,
	  0x8B
  };
  const U8 L2_PAG_2_I3_S_ARRAY[23] = {
 	  0x55,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x08, 0x09, 0x10, 0x10,
	  0x83, 0x32, 0x03, 0x95, 0x54,
	  0xAB
  };
  const U8 L2_PAG_2_I3_T_ARRAY[23] = {
 	  0x55,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x08, 0x09, 0x10, 0x10,
	  0x83, 0x32, 0x03, 0x95, 0x54,
	  0xCB
  };
  const U8 L2_PAG_2_I3_D_ARRAY[23] = {
 	  0x55,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x08, 0x09, 0x10, 0x10,
	  0x83, 0x32, 0x03, 0x95, 0x54,
	  0xEB
  };
  const U8 L2_PAG_2_I3_N_ARRAY[23] = {
 	  0x55,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x08, 0x09, 0x10, 0x10,
	  0x83, 0x32, 0x03, 0x95, 0x54,
	  0x2B
  };
  const U8 L2_PAG_2_T3_A_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0x8B, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T3_S_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0xAB, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T3_T_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0xCB, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T3_D_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0xEB, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_T3_N_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0x05, 0x22,
	  0x33, 0x66, 0x2B, 0x2B, 0x2B,
	  0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_2_I3_A_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_2_I3_S_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_2_I3_T_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_2_I3_D_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_2_I3_N_ARRAY;
  if (variant == 'F')   prim->l2_frame.content = L2_PAG_2_T3_A_ARRAY;
  if (variant == 'G')   prim->l2_frame.content = L2_PAG_2_T3_S_ARRAY;
  if (variant == 'H')   prim->l2_frame.content = L2_PAG_2_T3_T_ARRAY;
  if (variant == 'I')   prim->l2_frame.content = L2_PAG_2_T3_D_ARRAY;
  if (variant == 'J')   prim->l2_frame.content = L2_PAG_2_T3_N_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_31(CHAR variant)
{
  const U8 L2_PAG_2_SI3_A_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x06, 0x01, 0x10, 0x10,
	  0x83, 0x32, 0xF3, 0x8B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_ST3_S_ARRAY[23] = {
 	  0x3D,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x02, 0xF4, 142, 0xAB,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B
  };
  const U8 L2_PAG_2_ST3_T_ARRAY[23] = {
 	  0x41,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x03, 0xF4, 0, 142, 0xCB,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_2_ST3_D_ARRAY[23] = {
 	  0x45,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x04, 0xF4, 0,0,142, 0xEB,
	  0x2B, 0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_2_ST3_N_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x22,
	  0x00,
	  0x01, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x17, 0x05, 0xF4, 0, 0,0,142, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_2_SI3_A_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_2_ST3_S_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_2_ST3_T_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_2_ST3_D_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_2_ST3_N_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_32()
{
  const U8 L2_PAG_3_EMPTY_ARRAY[23] = {
 	  0x11,
	  0x06,
	  0x24,
	  0x00,
	  0x00,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_3_EMPTY_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_33(CHAR variant)
{
  const U8 L2_PAG_3_T1_A_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x05, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T1_S_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x10,
	  0x05, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T1_T_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x20,
	  0x05, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T1_D_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x30,
	  0x05, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T2_A_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T2_S_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x40,
	  0x04, 0x22, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T2_T_ARRAY[23] = {
	  0x4D,
	  0x06,
	  0x24,
	  0x80,
	  0x04, 0x22, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T2_D_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0xC0,
	  0x04, 0x22, 0x33, 0x66,
	  0x05, 0x22, 0x33, 0x66,
	  0x03, 0x22, 0x33, 0x65,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T3_A_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x02, 0x22, 0x33, 0x65,
	  0x83, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T3_S_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x02, 0x22, 0x33, 0x65,
	  0xA3, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T3_T_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x02, 0x22, 0x33, 0x65,
	  0xC3, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T3_D_ARRAY[23] = {
	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x02, 0x22, 0x33, 0x65,
	  0xE3, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T3_N_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x10,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x05, 0x22, 0x33, 0x66,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T4_A_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x05, 0x22, 0x33, 0x66,
	  0xA3, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T4_S_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x05, 0x22, 0x33, 0x66,
	  0x8B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T4_T_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x05, 0x22, 0x33, 0x66,
	  0x93, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T4_D_ARRAY[23] = {
	  0x4D,
	  0x06,
	  0x24,
	  0x00,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x05, 0x22, 0x33, 0x66,
	  0x9B, 0x2B, 0x2B
  };
  const U8 L2_PAG_3_T4_N_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x50,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x05, 0x22, 0x33, 0x66,
	  0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  if (variant == 'A')   prim->l2_frame.content = L2_PAG_3_T1_A_ARRAY;
  if (variant == 'B')   prim->l2_frame.content = L2_PAG_3_T1_S_ARRAY;
  if (variant == 'C')   prim->l2_frame.content = L2_PAG_3_T1_T_ARRAY;
  if (variant == 'D')   prim->l2_frame.content = L2_PAG_3_T1_D_ARRAY;
  if (variant == 'E')   prim->l2_frame.content = L2_PAG_3_T2_A_ARRAY;
  if (variant == 'F')   prim->l2_frame.content = L2_PAG_3_T2_S_ARRAY;
  if (variant == 'G')   prim->l2_frame.content = L2_PAG_3_T2_T_ARRAY;
  if (variant == 'H')   prim->l2_frame.content = L2_PAG_3_T2_D_ARRAY;
  if (variant == 'I')   prim->l2_frame.content = L2_PAG_3_T3_A_ARRAY;
  if (variant == 'J')   prim->l2_frame.content = L2_PAG_3_T3_S_ARRAY;
  if (variant == 'K')   prim->l2_frame.content = L2_PAG_3_T3_T_ARRAY;
  if (variant == 'L')   prim->l2_frame.content = L2_PAG_3_T3_D_ARRAY;
  if (variant == 'M')   prim->l2_frame.content = L2_PAG_3_T3_N_ARRAY;
  if (variant == 'N')   prim->l2_frame.content = L2_PAG_3_T4_A_ARRAY;
  if (variant == 'O')   prim->l2_frame.content = L2_PAG_3_T4_S_ARRAY;
  if (variant == 'P')   prim->l2_frame.content = L2_PAG_3_T4_T_ARRAY;
  if (variant == 'Q')   prim->l2_frame.content = L2_PAG_3_T4_D_ARRAY;
  if (variant == 'R')   prim->l2_frame.content = L2_PAG_3_T4_N_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_34()
{
  const U8 L2_PAG_3_WRONG_ARRAY[23] = {
 	  0x4D,
	  0x06,
	  0x24,
	  0x50,
	  0x04, 0x22, 0x33, 0x66,
	  0x04, 0x22, 0x33, 0x65,
	  0x04, 0x22, 0x33, 0x67,
	  0x02, 0x22, 0x33, 0x65,
	  0x2B, 0x2B, 0x2B
  };
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_3_WRONG_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_36()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_CCCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_imm_ass_hop();
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_51()
{
  const U8 L2_IMM_ASS_EXT_REO_ARRAY[23] = {
 	  0x49,
	  0x06,
	  0x39,
	  0x02,
	  0x20, 0xA0, 0x14,
	  0x00, 0x00, 0x00,
	  0x00,
	  0x20, 0xA0, 0x14,
	  0x00, 0x00, 0x00,
	  0x00,
	  0x00,
	  0x2b,0x2b,0x2b,0x2b
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_IMM_ASS_EXT_REO_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_52()
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = L2_CHANNEL_PCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_PAG_2_T1_A_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

/* SACCH  */
T_PRIMITIVE_UNION mphc_data_ind_37()
{
  const U8 L2_SYS_INFO_5_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x03, 0x03, 0x01,
	  0x06,
	  0x1D,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_SYS_INFO_5_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_sacch_error()
{
  const U8 L2_SYS_INFO_5_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x03, 0x03, 0x01,
	  0x06,
	  0x1D,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = INVALID_BLOCK;
  prim->l2_frame.content = L2_SYS_INFO_5_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_38()
{
  const U8 L2_SYS_INFO_5BIS_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x03, 0x03, 0x01,
	  0x06,
	  0x05,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_SYS_INFO_5BIS_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_39()
{
  const U8 L2_SYS_INFO_6_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x03, 0x03, 0x01,
	  0x06,
	  0x1E,
	  0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_SYS_INFO_6_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_40()
{
  const U8 L2_I_SMS_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x0F,
	  0x02,
	  0x19,
	  0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
	  0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
    0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_I_SMS_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
T_PRIMITIVE_UNION mphc_data_ind_41()
{
  const U8 L2_CHANGED_SYS_INFO_6_ARRAY[23] = {
 	  0xFF, 0xAA,
	  0x03, 0x03, 0x01,
	  0x06,
	  0x1E,
	  0x01, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
	  0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
  };

  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_14;
  prim->l2_channel = L2_CHANNEL_SACCH;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame.content = L2_CHANGED_SYS_INFO_6_ARRAY;
  prim->tc = TC_0;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}


/* UNITDATA BCCH */
T_PRIMITIVE_UNION mph_unitdata_ind_si1(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = arfcn;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl          = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si1_chg(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = arfcn;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1_new();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl          = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si2(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit          = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl           = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_si3(U16 arfcn, U16 cell_id)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident     = cell_id;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch  = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select    = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl      = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si7(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_7.si7_rest_oct = si7_rest_oct_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si4(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select    = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl      = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si4_diff_cs(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select    = cell_select_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl      = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_si8(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
  return prim;
}

#if 0
T_PRIMITIVE_UNION mph_unitdata_ind_1()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_5()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_6()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_12()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1_new();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_20()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_637;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_24()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_885;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_25()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_512;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_38()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn = FN_OFFSET_0;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
_PRIMITIVE_UNION mph_unitdata_ind_26()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_27()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_580;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_2()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_13()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_14()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_21()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_637;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_39()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn = FN_OFFSET_0;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
  return prim;
}


T_PRIMITIVE_UNION mph_unitdata_ind_3()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}


T_PRIMITIVE_UNION mph_unitdata_ind_7()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_8()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_9()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_22()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_637;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_28()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_25;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_29()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_512;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_30()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_580;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_31()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_885;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_32()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_11;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_33()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_87;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_34()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_513;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_35()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_600;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_36()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_700;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_37()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_810;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_54()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn = FN_OFFSET_224;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_55()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn = FN_OFFSET_224;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_56()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn = FN_OFFSET_114;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_57()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_58()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_25;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_59()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_512;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_60()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_580;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_61()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_637;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_62()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_885;
  prim->fn = FN_OFF_ARFCN_14;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
  return prim;
}




T_PRIMITIVE_UNION mph_unitdata_ind_4()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_23()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_637;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_40()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_41()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_42()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_43()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}


T_PRIMITIVE_UNION mph_unitdata_ind_45()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_47()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
  return prim;
}


T_PRIMITIVE_UNION mph_unitdata_ind_49()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_1;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_50()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
  return prim;
}

T_PRIMITIVE_UNION mph_unitdata_ind_51()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_124;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
  return prim;
}
#endif
/* UNITDATA PCH,CCCH */
T_PRIMITIVE_UNION mph_unitdata_ind_10()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc = chan_desc_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance = time_advance_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_11()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_23;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.chan_type= SDCCH_4_S1; //chan_desc_2();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.tn=3;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.tsc=2;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.hop=HOP_YES;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.arfcn._skip;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.maio=18;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.hsn=20;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance.ta = 0x1B;//time_advance_2();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_15()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc = chan_desc_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance = time_advance_1();
  prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_16()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_5.neigh_cell_desc.raw = neigh_cell_desc_2();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_17()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_5BIS.neigh_cell_desc.raw = neigh_cell_desc_2();
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_18()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_ident = CELL_IDENT_2;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.loc_area_ident = loc_area_ident_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_opt_sacch = cell_opt_sacch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.ncc_permit = NCC_PERMIT_2;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.si6_rest_oct._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_unitdata_ind_19()
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn = ARFCN_14;
  prim->fn._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_ident = CELL_IDENT_3;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.loc_area_ident = loc_area_ident_2();
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_opt_sacch = cell_opt_sacch_1();
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.ncc_permit = NCC_PERMIT_2;
  prim->sdu.aim.entity.RR->D_SYS_INFO_6.si6_rest_oct._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_error_ind_1()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_BCCH_READ_ERROR;
  prim->arfcn = ARFCN_23;
  return prim;
}

T_PRIMITIVE_UNION mph_error_ind_radio_link_fail()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_RADIO_LINK_FAIL;
  prim->arfcn = ARFCN_14;
  return prim;
}

T_PRIMITIVE_UNION mph_error_ind_2()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_DOWN_LINK_FAIL;
  prim->arfcn = ARFCN_23;
  return prim;
}

T_PRIMITIVE_UNION mph_error_ind_3()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_BCCH_READ_ERROR;
  prim->arfcn = ARFCN_14;
  return prim;
}
T_PRIMITIVE_UNION mph_error_ind_4()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_BCCH_READ_ERROR;
  prim->arfcn = ARFCN_637;
  return prim;
}

T_PRIMITIVE_UNION mph_error_ind_5()
{
  T_MPH_ERROR_IND prim;
  prim->cs = CS_NC_SYNC_FAILED;
  prim->arfcn = ARFCN_14;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_scell_bcch_req()
{
  T_MPHC_STOP_SCELL_BCCH_REQ prim;
  prim->param._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_stop_scell_bcch_con()
{
  T_MPHC_STOP_SCELL_BCCH_CON prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_classmark_req_1()
{
  T_MPH_CLASSMARK_REQ prim;
  prim->classmark.pclass  = 4;
  prim->classmark.pclass2 = 0;
  return prim;
}
T_PRIMITIVE_UNION mph_classmark_req_2()
{
  T_MPH_CLASSMARK_REQ prim;
  prim->classmark.pclass2=CLASS_1;
  prim->classmark.pclass=CLASS_1;
  return prim;
}
T_PRIMITIVE_UNION mph_classmark_req_3()
{
  T_MPH_CLASSMARK_REQ prim;
  prim->classmark.pclass = CLASS_4;
  prim->classmark.pclass2 = CLASS_2; //class_dual();
  return prim;
}

T_PRIMITIVE_UNION mph_idle_req_1(CHAR variant)
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  if (variant == 'A')   prim->comb_ccch = COMB_CCCH_COMB;
  if (variant == 'B')   prim->comb_ccch = COMB_CCCH_COMB;
  if (variant == 'C')   prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_2()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_3(CHAR variant)
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_COMB;
  if (variant == 'A')   prim->tn = TN_0;
  if (variant == 'B')   prim->tn = TN_4;
  prim->dlt = DLT_24;
  prim->pg = PG_23;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
  prim->bs_pa_mfrms = BS_PA_MFRMS_5;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_4(CHAR variant)
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_24;
  prim->pg = PG_11;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
  if (variant == 'A')   prim->bs_pa_mfrms = BS_PA_MFRMS_0;
  if (variant == 'B')   prim->bs_pa_mfrms = BS_PA_MFRMS_1;
  if (variant == 'C')   prim->bs_pa_mfrms = BS_PA_MFRMS_2;
  if (variant == 'D')   prim->bs_pa_mfrms = BS_PA_MFRMS_3;
  if (variant == 'E')   prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  if (variant == 'F')   prim->bs_pa_mfrms = BS_PA_MFRMS_5;
  if (variant == 'G')   prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  if (variant == 'H')   prim->bs_pa_mfrms = BS_PA_MFRMS_7;

  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
#ifdef FF_EGPRS
  prim->si2quater_status = SI2QUATER_ABSENT;
  prim->si2quater_pos = SI2QUATER_ON_NBCCH;
#endif  // FF_EGPRS
  if (variant == 'I')   {
    prim->bs_pa_mfrms = BS_PA_MFRMS_7;
#ifdef FF_EGPRS
    prim->si2quater_status = SI2QUATER_CONFIGURE;
    prim->si2quater_pos = SI2QUATER_ON_EBCCH;
#endif  // FF_EGPRS
    prim->gprs_support = MPH_GPRS_PROCS_NOT_USED;
  }
  if (variant == 'J')   {
    prim->bs_pa_mfrms = BS_PA_MFRMS_7;
#ifdef FF_EGPRS
    prim->si2quater_status = SI2QUATER_CONFIGURE;
    prim->si2quater_pos = SI2QUATER_ON_NBCCH;
#endif  // FF_EGPRS
    prim->gprs_support = MPH_GPRS_PROCS_NOT_USED;
  }
  if (variant == 'K')   {
    prim->bs_pa_mfrms = BS_PA_MFRMS_7;
#ifdef FF_EGPRS
    prim->si2quater_status = SI2QUATER_CONFIGURE;
    prim->si2quater_pos = SI2QUATER_ON_EBCCH;
#endif  // FF_EGPRS
    prim->gprs_support = MPH_GPRS_PROCS_USED;
  }
  return prim;
}

T_PRIMITIVE_UNION mph_idle_req_resel()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_24;
  prim->pg = PG_11;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
  prim->bs_pa_mfrms = BS_PA_MFRMS_0;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_idle_req_cell_sel()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_24;
  prim->pg = PG_11;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}


T_PRIMITIVE_UNION mph_idle_req_5(CHAR variant)
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  if (variant == 'E')
    prim->mod = MODE_CELL_RESELECTION;
  else  // variant 'A' .. 'D'
    prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  if (variant == 'E')
    prim->ext_bcch = BSIC_16;  // just for stressing the entity with a wrong value
  else  // variant 'A' .. 'D'
    prim->ext_bcch = BSIC_1;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  if (variant == 'A')   prim->ncc_permitted = NOT_PRESENT_8BIT;
  if (variant == 'B')   prim->ncc_permitted = NOT_PRESENT_8BIT;
  if (variant == 'C')   prim->ncc_permitted = NOT_PRESENT_8BIT;
  if (variant == 'D')   prim->ncc_permitted = NCC_PERMITTED_4;
  if (variant == 'E')   prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_6()
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_7(CHAR variant)
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_580;
  prim->ext_bcch._skip;
  if (variant == 'A')   prim->comb_ccch = COMB_CCCH_COMB;
  if (variant == 'B')   prim->comb_ccch = COMB_CCCH_COMB;
  if (variant == 'C')   prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_8()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_637;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_9()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_637;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_10()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_11()
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_12()
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  prim->arfcn = ARFCN_578;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_13()
{
  T_MPH_IDLE_REQ prim;
  prim->mod._skip;
  prim->arfcn = ARFCN_637;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_14()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_15()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_15g()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support = MPH_GPRS_PROCS_USED;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_16()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_1;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_5;
  prim->bs_pa_mfrms = BS_PA_MFRMS_2;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_17()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_20()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_1;
  prim->ext_bcch = NORMAL_PGM;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_21()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch = NORMAL_PGM;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_22()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_SELECTION;
  prim->arfcn = ARFCN_23;
  prim->ext_bcch = NORMAL_PGM;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_PRES;
  prim->gprs_support._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_idle_req_23()
{
  T_MPH_IDLE_REQ prim;
  prim->mod = MODE_CELL_RESELECTION;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_PRES;
  prim->gprs_support._skip;
  return prim;
}


T_PRIMITIVE_UNION mphc_start_ccch_req_1(CHAR variant)
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  if (variant == 'A')   prim->bcch_combined = COMB_CCCH_COMB;
  if (variant == 'B')   prim->bcch_combined = COMB_CCCH_COMB;
  if (variant == 'C')   prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  if (variant == 'A')   prim->page_block_index = PBI_0;
  if (variant == 'B')   prim->page_block_index = PBI_0;
  if (variant == 'C')   prim->page_block_index = PBI_2;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_2()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_3(CHAR variant)
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_COMB;
  if (variant == 'A')   prim->ccch_group = CCCH_GROUP_0;
  if (variant == 'B')   prim->ccch_group = CCCH_GROUP_2;
  prim->page_group = PG_23;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_4()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_2;
  prim->page_group = PG_23;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_EXTENDED;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req(U8 bs_pa_mfrms, U8 bs_ag_blks_res, U8 bcch_combined, U8 ccch_group, U8 page_group, U8 page_block_index, U8 page_mode )
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms      = bs_pa_mfrms     ;
  prim->bs_ag_blks_res   = bs_ag_blks_res  ;
  prim->bcch_combined    = bcch_combined   ;
  prim->ccch_group       = ccch_group      ;
  prim->page_group       = page_group      ;
  prim->page_block_index = page_block_index;
  prim->page_mode        = page_mode       ;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_4_reorg()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_2;
  prim->page_group = PG_23;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_REORG;
  return prim;
}

T_PRIMITIVE_UNION mphc_start_ccch_req_5()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_2;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_7;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_0;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_REORG;
  return prim;
}


T_PRIMITIVE_UNION mphc_start_ccch_req_6()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_2;
  prim->page_group = PG_23;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_NORMAL;
  return prim;
}

T_PRIMITIVE_UNION mphc_start_ccch_req_6_reorg()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_2;
  prim->page_group = PG_23;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_REORG;
  return prim;
}

T_PRIMITIVE_UNION mphc_start_ccch_req_7(CHAR variant)
{
  T_MPHC_START_CCCH_REQ prim;
  if (variant == 'A')   prim->bs_pa_mfrms = BS_PA_MFRMS_2;
  if (variant == 'B')   prim->bs_pa_mfrms = BS_PA_MFRMS_3;
  if (variant == 'C')   prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  if (variant == 'D')   prim->bs_pa_mfrms = BS_PA_MFRMS_5;
  if (variant == 'E')   prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  if (variant == 'F')   prim->bs_pa_mfrms = BS_PA_MFRMS_7;
  if (variant == 'G')   prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  if (variant == 'H')   prim->bs_pa_mfrms = BS_PA_MFRMS_9;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_11;
  prim->page_block_index = PBI_4;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_8()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  prim->bcch_combined = COMB_CCCH_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  prim->page_block_index = PBI_0;
  prim->page_mode = PGM_NORMAL;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_9()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  prim->page_block_index = PBI_2;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_10()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  prim->page_block_index = PBI_2;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_11(CHAR variant)
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_8;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
  if (variant == 'A')   prim->bcch_combined = COMB_CCCH_COMB;
  if (variant == 'B')   prim->bcch_combined = COMB_CCCH_COMB;
  if (variant == 'C')   prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_20;
  if (variant == 'A')   prim->page_block_index = PBI_0;
  if (variant == 'B')   prim->page_block_index = PBI_0;
  if (variant == 'C')   prim->page_block_index = PBI_2;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_12()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_5;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_1;
  prim->page_block_index = PBI_1;
  prim->page_mode = PGM_REORG;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_13()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms = BS_PA_MFRMS_4;
  prim->bs_ag_blks_res = BS_AG_BLKS_RES_5;
  prim->bcch_combined = COMB_CCCH_NOT_COMB;
  prim->ccch_group = CCCH_GROUP_0;
  prim->page_group = PG_1;
  prim->page_block_index = PBI_1;
  prim->page_mode = PGM_NORMAL;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_14()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms._skip;
  prim->bs_ag_blks_res._skip;
  prim->bcch_combined._skip;
  prim->ccch_group._skip;
  prim->page_group._skip;
  prim->page_block_index._skip;
  prim->page_mode._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_start_ccch_req_normal()
{
  T_MPHC_START_CCCH_REQ prim;
  prim->bs_pa_mfrms._show;      /* = BS_PA_MFRMS_9;*/
  prim->bs_ag_blks_res._show;   /* = BS_AG_BLKS_RES_2;*/
  prim->bcch_combined._show;    /* = COMB_CCCH_NOT_COMB;*/
  prim->ccch_group._show;       /* = CCCH_GROUP_0;*/
  prim->page_group._show;       /* = PG_11;*/
  prim->page_block_index._show; /* = PBI_4;*/
  prim->page_mode = PGM_NORMAL;
  return prim;
}
T_PRIMITIVE_UNION mph_identity_req_1()
{
  const U8 IMSI[15] = {
    0,0,1,0,1,3,8,2,3,3,0,5,9,4,5
  };

  T_MPH_IDENTITY_REQ prim;
  prim->mid.len_imsi = 15;
  prim->mid.imsi = IMSI;
  prim->mid.v_tmsi = 1;
  prim->mid.tmsi = 0x05223366L;
  prim->mid.v_ptmsi._skip;
  prim->mid.ptmsi._skip;
  return prim;
}
T_PRIMITIVE_UNION mph_identity_req_2()
{
  const U8 IMSI2[15] = {
    0,0,1,0,1,3,8,2,3,3,0xF,0xF,0xF,0xF,0xF
  };

  T_MPH_IDENTITY_REQ prim;
  prim->mid.len_imsi = 10;
  prim->mid.imsi     = IMSI2;
  prim->mid.v_tmsi   = 1;
  prim->mid.tmsi     = 142;
  prim->mid.v_ptmsi  ._skip;
  prim->mid.ptmsi    ._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_sync_req(U8 cs)
{
  T_MPH_SYNC_REQ prim;
  prim->cs = cs;
  return prim;
}

T_PRIMITIVE_UNION em_l1_event_req_1()
{
  T_EM_L1_EVENT_REQ prim;
  prim->bitmask_l1_h = Bitm_H;
  prim->bitmask_l1_l = Bitm_L;
  return prim;
}
T_PRIMITIVE_UNION em_l1_event_req_2()
{
  T_EM_L1_EVENT_REQ prim;
  prim->bitmask_l1_h = 0xFFFFFFFF;
  prim->bitmask_l1_l = 0xFFFFFFFF;
  return prim;
}

T_PRIMITIVE_UNION em_data_ind_1()
{
  T_EM_DATA_IND prim;
  prim->entity = ENTITY;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_network_sync_req_1()
{
  T_MPHC_STOP_NETWORK_SYNC_REQ prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_network_sync_con_1()
{
  T_MPHC_STOP_NETWORK_SYNC_CON prim;
  prim->param._skip;
  return prim;
}


T_PRIMITIVE_UNION mphc_scell_nbcch_req_full()
{
  T_MPHC_SCELL_NBCCH_REQ prim;
  prim->schedule_array_size = SCHED_SIZE_1;
  prim->schedule_array[0].modulus           = 1;
  prim->schedule_array[0].relative_position = 0;
  prim->schedule_array[1].modulus._skip;
  prim->schedule_array[1].relative_position._skip;
  prim->schedule_array[2].modulus._skip;
  prim->schedule_array[2].relative_position._skip;
  prim->schedule_array[3].modulus._skip;
  prim->schedule_array[3].relative_position._skip;
  prim->schedule_array[4].modulus._skip;
  prim->schedule_array[4].relative_position._skip;
  prim->schedule_array[5].modulus._skip;
  prim->schedule_array[5].relative_position._skip;
  prim->schedule_array[6].modulus._skip;
  prim->schedule_array[6].relative_position._skip;
  prim->schedule_array[7].modulus._skip;
  prim->schedule_array[7].relative_position._skip;
  prim->schedule_array[8].modulus._skip;
  prim->schedule_array[8].relative_position._skip;
  prim->schedule_array[9].modulus._skip;
  prim->schedule_array[9].relative_position._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_scell_nbcch_req_periodic()
{
  T_MPHC_SCELL_NBCCH_REQ prim;
  prim->schedule_array_size = PERIODIC_SCELL_BCCH_ARRAY_SIZE;
  prim->schedule_array[0].modulus           = 128;
  prim->schedule_array[0].relative_position = 0;
  prim->schedule_array[1].modulus           = 128;
  prim->schedule_array[1].relative_position = 1;
  prim->schedule_array[2].modulus           = 128;
  prim->schedule_array[2].relative_position = 2;
  prim->schedule_array[3].modulus           = 128;
  prim->schedule_array[3].relative_position = 3;
  prim->schedule_array[4].modulus           = 128;
  prim->schedule_array[4].relative_position = 4;
  prim->schedule_array[5].modulus           = 128;
  prim->schedule_array[5].relative_position = 5;
  prim->schedule_array[6].modulus           = 128;
  prim->schedule_array[6].relative_position = 6;
  prim->schedule_array[7].modulus           = 128;
  prim->schedule_array[7].relative_position = 7;
  prim->schedule_array[8].modulus           ._skip;
  prim->schedule_array[8].relative_position ._skip;
  prim->schedule_array[9].modulus           ._skip;
  prim->schedule_array[9].relative_position ._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_ccch_req()
{
  T_MPHC_STOP_CCCH_REQ prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_ncell_sync_req_1()
{
  T_MPHC_STOP_NCELL_SYNC_REQ prim;
  prim->radio_freq_array_size = 12;
  prim->radio_freq_array._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_ncell_bcch_req_1     ()
{
  T_MPHC_STOP_NCELL_BCCH_REQ prim;
  prim->radio_freq_array_size = 6;

  int i=0;
  prim->radio_freq_array[i] = 0;
  i++;

  for(;i<MAX_NCELL;i++) {
    prim->radio_freq_array[i] = 0;
  }
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_rxlev_periodic_req()
{
  T_MPHC_STOP_RXLEV_PERIODIC_REQ prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_random_access_req_1()
{
  const U8 BURST_DELTA[8] = {
 	  5,7,0,0,0,0,0,0
  };
#if defined FF_EGPRS
  const U16 BURST_RACH[8] = {
	  CHANNEL_REQUEST_1,CHANNEL_REQUEST_2,0,0,0,0,0,0
  };
  const U8 BURST_TS[8] = {
	  0xA0,0xA3,0,0,0,0,0,0
  };
#else
  const U8 BURST_RACH[8] = {
	  CHANNEL_REQUEST_GO_1,CHANNEL_REQUEST_GO_1,0,0,0,0,0,0
  };
#endif
  T_MPH_RANDOM_ACCESS_REQ prim;
  prim->send_mode.c     ._skip;
  prim->send_mode.no    = RAND_BURSTS_2;
  prim->send_mode.delta = BURST_DELTA;
  prim->send_mode.rach  = BURST_RACH;
#if defined FF_EGPRS
  prim->send_mode.train_seq = BURST_TS;
#endif

  return prim;
}
T_PRIMITIVE_UNION mph_random_access_req_2()
{
  T_MPH_RANDOM_ACCESS_REQ prim;
  prim->send_mode.c._skip;
  prim->send_mode.no._skip;
  prim->send_mode.delta._skip;
  prim->send_mode.rach._skip;
  return prim;
}

T_PRIMITIVE_UNION mphc_ra_req_1()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_1;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_1;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm = POWER_CLASS_5;
  prim->powerclass_dcs._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_ra_req_2()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_2;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_2;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm = POWER_CLASS_5;
  prim->powerclass_dcs._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_ra_req_3()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_1;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_1;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm._skip;
  prim->powerclass_dcs._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_ra_req_4()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_2;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_2;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm._skip;
  prim->powerclass_dcs._skip;
  return prim;
}
T_PRIMITIVE_UNION mphc_ra_req_5()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_1;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_1;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm = POWER_CLASS_4;
  prim->powerclass_dcs = POW_CLASS_2;
  return prim;
}

T_PRIMITIVE_UNION mphc_ra_req_6()
{
  T_MPHC_RA_REQ prim;
  prim->txpwr = POWER_12;
  prim->rand = RAND_BURST_2;
#if defined FF_EGPRS
  prim->channel_request = CHANNEL_REQUEST_2;
#else
  prim->channel_request = CHANNEL_REQUEST_GO_1;
#endif
  prim->powerclass_gsm = POWER_CLASS_4;
  prim->powerclass_dcs = POW_CLASS_2;
  return prim;
}

T_PRIMITIVE_UNION mphc_ra_con_1()
{
  T_MPHC_RA_CON prim;
  prim->fn = FN_BURST_1;
  prim->channel_request = CHANNEL_REQUEST_1;
  return prim;
}

T_PRIMITIVE_UNION mph_random_access_cnf_1()
{
  T_MPH_RANDOM_ACCESS_CNF prim;
  prim->frame_no.t1 = 14;
  prim->frame_no.t2 = 22;
  prim->frame_no.t3 = 30;
  return prim;
}

T_PRIMITIVE_UNION mphc_stop_ra_req_1()
{
  T_MPHC_STOP_RA_REQ prim;
  prim->param._skip;
  return prim;
}



T_PRIMITIVE_UNION mph_ext_meas_req_1()
{
  const U16 ARFCN_EXT_MEAS_000_elements[] = {
	  CONST_20,
	  CONST_0,
	  CONST_974,
	  CONST_10,
	  CONST_1,
	  CONST_1023,
	  CONST_124,
	  CONST_1022,
	  CONST_123,
	  CONST_975
  };
  T_ARRAY<U16> ARFCN_EXT_MEAS_000(ARFCN_EXT_MEAS_000_elements, SKIP_TO_END);

  T_MPH_EXT_MEAS_REQ prim;
  prim->pch_interrupt = NO_PCH_INTERRUPT;
  prim->freq_bands = BAND_E_GSM;
  prim->num_of_chan = CHANNELS_4;
  prim->arfcn = ARFCN_EXT_MEAS_000;
  return prim;
}



T_PRIMITIVE_UNION mph_ext_meas_cnf_1()
{
  const U16 ARFCN_EXT_MEAS_SORT_000_elements[] = {
	  (CONST_1023|0x1000),
	  (CONST_1022|0x1000),
	  (CONST_0|0x1000),
	  (CONST_974|0x1000),
	  (CONST_124|0x1000),
	  (CONST_123|0x1000),
	  (CONST_20|0x1000),
	  (CONST_10|0x1000),
	  (CONST_1|0x1000),
	  (CONST_975|0x1000)
  };
  T_ARRAY<U16> ARFCN_EXT_MEAS_SORT_000(ARFCN_EXT_MEAS_SORT_000_elements, SKIP_TO_END);

  const U8 RXLEV_EXT_MEAS_000_elements[] = {
	  80,70,60,50,40,30,20,10,0,-10
  };
  T_ARRAY<U8> RXLEV_EXT_MEAS_000(RXLEV_EXT_MEAS_000_elements, SKIP_TO_END);

  T_MPH_EXT_MEAS_CNF prim;
  prim->num_of_chan = CHANNELS_10;
  prim->arfcn = ARFCN_EXT_MEAS_SORT_000;
  prim->rx_lev = RXLEV_EXT_MEAS_000;
  return prim;
}






T_PRIMITIVE_UNION mph_sync_ind_1()
{
  T_MPH_SYNC_IND prim;
  prim->cs = CS_STOP_PLMN_SEARCH;
  prim->arfcn._skip;
  return prim;
}



T_PRIMITIVE_UNION mph_paging_ind_1(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  if (variant == 'A')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'B')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'C')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'D')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'E')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'F')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'G')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'H')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'I')    prim->identity_type = ID_TYPE_IMSI;

  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'C')   prim->channel_needed = CN_TCH_F;
  if (variant == 'D')   prim->channel_needed = CN_TCH_F;
  if (variant == 'E')   prim->channel_needed = CN_SDCCH;
  if (variant == 'F')   prim->channel_needed = CN_SDCCH;
  if (variant == 'G')   prim->channel_needed = CN_TCH;
  if (variant == 'H')   prim->channel_needed = CN_TCH;
#if defined GPRS
  if (variant == 'I')   prim->channel_needed = CN_PACKET;
#else
  if (variant == 'I')   prim->channel_needed = CN_ANY_CHAN;
#endif
  return prim;
}




T_PRIMITIVE_UNION mph_paging_ind_2(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  if (variant == 'A')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'B')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'C')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'D')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'E')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'F')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_TCH_F;
  if (variant == 'C')   prim->channel_needed = CN_SDCCH;
  if (variant == 'D')   prim->channel_needed = CN_TCH;
  if (variant == 'E')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'F')   prim->channel_needed = CN_TCH_F;
  return prim;
}


T_PRIMITIVE_UNION mph_paging_ind_3(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_SDCCH;
  if (variant == 'C')   prim->channel_needed = CN_TCH_F;
  if (variant == 'D')   prim->channel_needed = CN_TCH;
  if (variant == 'E')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'F')   prim->channel_needed = CN_SDCCH;
  if (variant == 'G')   prim->channel_needed = CN_TCH_F;
  if (variant == 'H')   prim->channel_needed = CN_TCH;
  return prim;
}


T_PRIMITIVE_UNION mph_paging_ind_4(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  if (variant == 'A')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'B')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'C')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'D')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'E')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'F')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'G')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'H')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'I')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'J')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_SDCCH;
  if (variant == 'C')   prim->channel_needed = CN_TCH_F;
  if (variant == 'D')   prim->channel_needed = CN_TCH;
  if (variant == 'E')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'F')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'G')   prim->channel_needed = CN_SDCCH;
  if (variant == 'H')   prim->channel_needed = CN_TCH_F;
  if (variant == 'I')   prim->channel_needed = CN_TCH;
  if (variant == 'J')   prim->channel_needed = CN_ANY_CHAN;
  return prim;
}


T_PRIMITIVE_UNION mph_paging_ind_5(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  if (variant == 'A')   prim->identity_type = ID_TYPE_IMSI;
  if (variant == 'B')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'C')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'D')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'E')   prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_SDCCH;
  if (variant == 'C')   prim->channel_needed = CN_TCH_F;
  if (variant == 'D')   prim->channel_needed = CN_TCH;
  if (variant == 'E')   prim->channel_needed = CN_ANY_CHAN;
  return prim;
}


T_PRIMITIVE_UNION mph_paging_ind_6(CHAR variant)
{
  T_MPH_PAGING_IND prim;
  prim->identity_type = ID_TYPE_TMSI;
  if (variant == 'A')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'B')   prim->channel_needed = CN_SDCCH;
  if (variant == 'C')   prim->channel_needed = CN_TCH_F;
  if (variant == 'D')   prim->channel_needed = CN_TCH;
  if (variant == 'E')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'F')   prim->channel_needed = CN_SDCCH;
  if (variant == 'G')   prim->channel_needed = CN_TCH_F;
  if (variant == 'H')   prim->channel_needed = CN_TCH;
  if (variant == 'I')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'J')   prim->channel_needed = CN_SDCCH;
  if (variant == 'K')   prim->channel_needed = CN_TCH_F;
  if (variant == 'L')   prim->channel_needed = CN_TCH;
  if (variant == 'M')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'N')   prim->channel_needed = CN_ANY_CHAN;
  if (variant == 'O')   prim->channel_needed = CN_SDCCH;
  if (variant == 'P')   prim->channel_needed = CN_TCH_F;
  if (variant == 'Q')   prim->channel_needed = CN_TCH;
  if (variant == 'R')   prim->channel_needed = CN_ANY_CHAN;
  return prim;
}

T_PRIMITIVE_UNION mph_paging_ind_7()
{
  T_MPH_PAGING_IND prim;
  prim->identity_type = ID_TMSI;
  prim->channel_needed = CN_ANY_CHAN;
  return prim;
}

T_PRIMITIVE_UNION mph_emo_req_1()
{
  T_MPH_EMO_REQ prim;
  prim->ba_id = CONST_129;
  prim->arfcn = A_ARFCN_EMO_000;
  return prim;
}
T_PRIMITIVE_UNION mph_emo_req_2()
{
  T_MPH_EMO_REQ prim;
  prim->ba_id = CONST_130;
  prim->arfcn = A_ARFCN_EMO_000;
  return prim;
}


T_PRIMITIVE_UNION mph_emo_meas_ind_1()
{
  T_MPH_EMO_MEAS_IND prim;
  prim->ba_id = CONST_129;
  prim->dtx = CONST_1;
  prim->meas_results = s_emo_meas_res_000();
  return prim;
}



T_PRIMITIVE_UNION mph_emo_meas_ind_2()
{
  T_MPH_EMO_MEAS_IND prim;
  prim->ba_id = CONST_130;
  prim->dtx = CONST_1;
  prim->meas_results = s_emo_meas_res_000();
  return prim;
}


T_PRIMITIVE_UNION  mphc_stop_rxlev_req(void)
{
  T_MPHC_STOP_RXLEV_REQ prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION  mphc_stop_rxlev_con(void)
{
  T_MPHC_STOP_RXLEV_CON prim;
  prim->param._skip;
  return prim;
}

T_PRIMITIVE_UNION  mph_deactivate_req(void)
{
  T_MPH_DEACTIVATE_REQ prim;
  return prim;
}

T_mid ms_id_imsi_ptmsi()
{
  const U8 IMSI[15] = {
    0,0,1,0,1,3,8,2,3,3,0,5,9,4,5
  };
  #define TMSI                    0x05223366L
   T_mid pstruct;
   pstruct->len_imsi = 15;
   pstruct->imsi = IMSI;
   pstruct->v_tmsi = 1;
   pstruct->tmsi = TMSI;
   pstruct->v_ptmsi = 1;
   pstruct->ptmsi = 143;
   pstruct->v_ptmsi2 = 1;
   pstruct->ptmsi2 = 144;
   return pstruct;
}

T_PRIMITIVE_UNION mph_identity_req_2g()
{
   T_MPH_IDENTITY_REQ prim;
   prim->mid = ms_id_imsi_ptmsi();
   return prim;
}

T_PRIMITIVE_UNION mph_idle_req_1g()
{
   T_MPH_IDLE_REQ prim;
   prim->mod = MODE_CELL_SELECTION;
   prim->arfcn = ARFCN_23;
   prim->ext_bcch._skip;
   prim->comb_ccch = COMB_CCCH_COMB;
   prim->tn = TN_0;
   prim->dlt = DLT_10;
   prim->pg = PG_20;
   prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
   prim->bs_pa_mfrms = BS_PA_MFRMS_6;
   prim->power = POWER_12;
   prim->ncc_permitted = NOT_PRESENT_8BIT;
   prim->reorg_only._skip;
   prim->eotd_avail._skip;
   prim->gprs_support = MPH_GPRS_PROCS_USED;
   return prim;
}
const U8 L2_PAG_1_PT1_A1_ARRAY[23] = {
 	0x19,
	0x06,
	0x21,
	0x00,
	0x02,
	0xF4, 143, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B
};

T_l2_frame l2_pag_1_pt1_a1()
{
   T_l2_frame pstruct;
   pstruct->content = L2_PAG_1_PT1_A1_ARRAY;
   return pstruct;
}
T_PRIMITIVE_UNION mphc_data_ind_8g()
{
   T_MPHC_DATA_IND prim;
   prim->radio_freq = ARFCN_23;
   prim->l2_channel = L2_CHANNEL_PCH;
   prim->error_flag = VALID_BLOCK;
   prim->l2_frame   = l2_pag_1_pt1_a1();
   prim->tc         = TC_0;
   prim->ccch_lev._skip;
   prim->fn         = FN_OFFSET_0;
   return prim;
}

T_PRIMITIVE_UNION mph_paging_ind_1g()
{
   T_MPH_PAGING_IND prim;
   prim->identity_type  = ID_PTMSI;
   prim->channel_needed = CN_PACKET;
   return prim;
}

const U8 L2_PAG_1_EMPTY_ARRAY[23] = {
 	0x11,
	0x06,
	0x21,
	0x00,
	0x00,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B
};

T_l2_frame l2_pag_1_empty()
{
   T_l2_frame pstruct;
   pstruct->content = L2_PAG_1_EMPTY_ARRAY;
   return pstruct;
}

T_PRIMITIVE_UNION mphc_data_ind_9g()
{
   T_MPHC_DATA_IND prim;
   prim->radio_freq = ARFCN_23;
   prim->l2_channel = L2_CHANNEL_PCH;
   prim->error_flag = VALID_BLOCK;
   prim->l2_frame   = l2_pag_1_empty();
   prim->tc         = TC_0;
   prim->ccch_lev._skip;
   prim->fn         = FN_OFFSET_0;
   return prim;
}
const U8 L2_PAG_1_PT2_A1_ARRAY[23] = {
 	0x19,
	0x06,
	0x21,
	0x00,
	0x02,
	0xF4, 144, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
	0x2B, 0x2B, 0x2B
};

T_l2_frame l2_pag_1_pt2_a1()
{
   T_l2_frame pstruct;
   pstruct->content = L2_PAG_1_PT2_A1_ARRAY;
   return pstruct;
}

T_PRIMITIVE_UNION mphc_data_ind_10g()
{
   T_MPHC_DATA_IND prim;
   prim->radio_freq = ARFCN_23;
   prim->l2_channel = L2_CHANNEL_PCH;
   prim->error_flag = VALID_BLOCK;
   prim->l2_frame   = l2_pag_1_pt2_a1();
   prim->tc         = TC_0;
   prim->ccch_lev._skip;
   prim->fn         = FN_OFFSET_0;
   return prim;
}

T_PRIMITIVE_UNION mph_idle_req_4g()
{
   T_MPH_IDLE_REQ prim;
   prim->mod = MODE_CONFIG_PL;
   prim->arfcn = ARFCN_23;
   prim->ext_bcch._skip;
   prim->comb_ccch = COMB_CCCH_COMB;
   prim->tn = TN_0;
   prim->dlt = DLT_10;
   prim->pg = PG_20;
   prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
   prim->bs_pa_mfrms = BS_PA_MFRMS_6;
   prim->power = POWER_12;
   prim->ncc_permitted = NOT_PRESENT_8BIT;
   prim->reorg_only = NORMAL_PGM;
   prim->eotd_avail = EOTD_NOT_PRES;
   prim->gprs_support = MPH_GPRS_PROCS_USED;
   return prim;
}
T_PRIMITIVE_UNION mph_mon_ctrl_req(U8 action)
{
   T_MPH_MON_CTRL_REQ prim;
   prim->action = action;
   prim->si_to_read._skip;
   return prim;
}

T_PRIMITIVE_UNION mph_idle_req_2g()
{
   T_MPH_IDLE_REQ prim;
   prim->mod = MODE_PACKET_TRANSFER;
   prim->arfcn = ARFCN_23;
   prim->ext_bcch._skip;
   prim->comb_ccch = COMB_CCCH_NOT_COMB;
   prim->tn = TN_0;
   prim->dlt = DLT_10;
   prim->pg = PG_20;
   prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
   prim->bs_pa_mfrms = BS_PA_MFRMS_6;
   prim->power = POWER_12;
   prim->ncc_permitted = NOT_PRESENT_8BIT;
   prim->reorg_only._skip;
   prim->eotd_avail._skip;
   prim->gprs_support = MPH_GPRS_PROCS_USED;
   return prim;
}

#ifdef FF_EGPRS
T_PRIMITIVE_UNION mph_unitdata_ind_si2q(U16 arfcn)
{
  T_MPH_UNITDATA_IND prim;
  prim->arfcn      = arfcn;
  prim->fn         ._skip;
  prim->sdu.aim.ti = TI_0;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2QUATER.msg_type._show;
  prim->sdu.aim.entity.RR->D_SYS_INFO_2QUATER.si_2qua_octets._show;
  return prim;
}

T_PRIMITIVE_UNION mphc_data_ind_si2quater(int ch_type)
{
  T_MPHC_DATA_IND prim;
  prim->radio_freq = ARFCN_23;
  prim->l2_channel = ch_type;
  prim->error_flag = VALID_BLOCK;
  prim->l2_frame = l2_sys_info_2q();
  prim->tc = TC_1;
  prim->ccch_lev._skip;
  prim->fn = FN_OFFSET_0;
  return prim;
}
#endif  // FF_EGPRS

T_PRIMITIVE_UNION mph_mon_ctrl_req_1(U8 action, U8 si_read)
{
   T_MPH_MON_CTRL_REQ prim;
   prim->action = action;
   prim->si_to_read = si_read;
   return prim;
}

T_PRIMITIVE_UNION mphc_scell_ebcch_req_si2q()
{
  T_MPHC_SCELL_EBCCH_REQ  prim;
  prim->schedule_array_size = 1;
  prim->schedule_array._show;
  return prim;
}

T_PRIMITIVE_UNION mphc_scell_nbcch_req_1()
{
  T_MPHC_SCELL_NBCCH_REQ prim;
  prim->schedule_array_size._show;
  prim->schedule_array._show;
  return prim;
}

#ifdef FF_EGPRS
T_PRIMITIVE_UNION mph_enhpara_update_req_1 (char variant)
{
  T_MPH_ENHPARA_UPDATE_REQ      prim;
  int i = MAX_NEIGHBOURCELLS;

  switch(variant) {
  case 'A':
    {
      prim->rep_type = REP_TYPE_ENH;
      prim->enh_para.num_valid_cells = 3;
      prim->enh_para.enh_cell_list._skip ;
      prim->enh_para.enh_rep_data._skip ;
      prim->enh_para.inv_bsic_enabled = TRUE;
      prim->enh_para.multiband_rep = 2;
      prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
      prim->enh_para.rep_rate = NORMAL_REP_RATE;
      prim->enh_para.scale_order = SCALE_0dB;
      prim->enh_para.servingband_rep = 2;
    }
  	break;
  case 'B':
    {
        prim->rep_type = REP_TYPE_ENH;
        prim->enh_para.num_valid_cells = 8;
        /*GSM NC List Idle*/

        while ( i)
        {
          prim->enh_para.enh_cell_list[i-1].arfcn = 0;
          prim->enh_para.enh_cell_list[i-1].bsic = 0;
          prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
          i--;
        }

        prim->enh_para.enh_cell_list[0].arfcn = 1;
        prim->enh_para.enh_cell_list[0].bsic = 16;

        prim->enh_para.enh_cell_list[1].arfcn = 15;
        prim->enh_para.enh_cell_list[1].bsic = 17;


        prim->enh_para.enh_cell_list[2].arfcn = 30;
        prim->enh_para.enh_cell_list[2].bsic = 18;


        prim->enh_para.enh_cell_list[3].arfcn = 46;
        prim->enh_para.enh_cell_list[3].bsic = 19;


        prim->enh_para.enh_cell_list[4].arfcn = 59;
        prim->enh_para.enh_cell_list[4].bsic = 20;


        prim->enh_para.enh_cell_list[5].arfcn = 73;
        prim->enh_para.enh_cell_list[5].bsic = 21;


        prim->enh_para.enh_cell_list[6].arfcn = 90;
        prim->enh_para.enh_cell_list[6].bsic = 22;


        prim->enh_para.enh_cell_list[7].arfcn = 108;
        prim->enh_para.enh_cell_list[7].bsic = 24;


        i=5;
        while (i)
        {
          prim->enh_para.enh_rep_data[i-1].rep_threshold = REP_THRESHOLD_0;
          prim->enh_para.enh_rep_data[i-1].rep_offset    = REP_OFFSET_0;
          i--;
        }
        prim->enh_para.inv_bsic_enabled = TRUE;
        prim->enh_para.multiband_rep = 2;
        prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
        prim->enh_para.rep_rate = NORMAL_REP_RATE;
        prim->enh_para.scale_order = SCALE_AUTO;
        prim->enh_para.servingband_rep = 2;
      }
  	break;
  case 'C':
    prim->rep_type = REP_TYPE_NORM;
    prim->enh_para._skip;
    break;
  case 'D':
  case 'E':
    {
        prim->rep_type = REP_TYPE_ENH;
        prim->enh_para.num_valid_cells = 16;
        /*GSM NC List Idle*/

        if (variant == 'D')
        {
          while ( i)
          {
            prim->enh_para.enh_cell_list[i-1].arfcn = 0;
            prim->enh_para.enh_cell_list[i-1].bsic = 0;
            prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
            i--;
          }
          prim->enh_para.rep_rate = NORMAL_REP_RATE;
        }
        else
        {
          while ( i)
          {
            prim->enh_para.enh_cell_list[i-1].arfcn = 0;
            prim->enh_para.enh_cell_list[i-1].bsic = 0;
            if ( i%2 == 0)
              prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
            else
              prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_NORM;
            i--;
          }
          prim->enh_para.rep_rate = REDUCED_REP_RATE;
        }


        prim->enh_para.enh_cell_list[0].arfcn = 30;
        prim->enh_para.enh_cell_list[0].bsic = 18;

        prim->enh_para.enh_cell_list[1].arfcn = 46;
        prim->enh_para.enh_cell_list[1].bsic = 19;


        prim->enh_para.enh_cell_list[2].arfcn = 59;
        prim->enh_para.enh_cell_list[2].bsic = 20;


        prim->enh_para.enh_cell_list[3].arfcn = 73;
        prim->enh_para.enh_cell_list[3].bsic = 21;


        prim->enh_para.enh_cell_list[4].arfcn = 90;
        prim->enh_para.enh_cell_list[4].bsic = 22;


        prim->enh_para.enh_cell_list[5].arfcn = 108;
        prim->enh_para.enh_cell_list[5].bsic = 24;


        prim->enh_para.enh_cell_list[6].arfcn = 512;
        prim->enh_para.enh_cell_list[6].bsic = 16;


        prim->enh_para.enh_cell_list[7].arfcn = 513;
        prim->enh_para.enh_cell_list[7].bsic = 17;

        prim->enh_para.enh_cell_list[8].arfcn = 516;
        prim->enh_para.enh_cell_list[8].bsic = 25;

        prim->enh_para.enh_cell_list[9].arfcn = 525;
        prim->enh_para.enh_cell_list[9].bsic = 26;

        prim->enh_para.enh_cell_list[10].arfcn = 578;
        prim->enh_para.enh_cell_list[10].bsic = 27;

        prim->enh_para.enh_cell_list[11].arfcn = 580;
        prim->enh_para.enh_cell_list[11].bsic = 28;

        prim->enh_para.enh_cell_list[12].arfcn = 581;
        prim->enh_para.enh_cell_list[12].bsic = 29;

        prim->enh_para.enh_cell_list[13].arfcn = 582;
        prim->enh_para.enh_cell_list[13].bsic = 30;

        prim->enh_para.enh_cell_list[14].arfcn = 583;
        prim->enh_para.enh_cell_list[14].bsic = 31;

        prim->enh_para.enh_cell_list[15].arfcn = 584;
        prim->enh_para.enh_cell_list[15].bsic = 48;

        i=5;
        while (i)
        {
          prim->enh_para.enh_rep_data[i-1].rep_threshold = REP_THRESHOLD_0;
          prim->enh_para.enh_rep_data[i-1].rep_offset    = REP_OFFSET_0;
          i--;
        }
        prim->enh_para.inv_bsic_enabled = TRUE;
        prim->enh_para.multiband_rep = 2;
        prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
        prim->enh_para.scale_order = SCALE_AUTO;
        prim->enh_para.servingband_rep = 2;
      }
  	break;
  default:
    break;
  }
  return prim;
}

T_PRIMITIVE_UNION mph_idle_req_15_si2q(int mode)
{
  T_MPH_IDLE_REQ prim;
  prim->mod = mode;
  prim->arfcn = ARFCN_14;
  prim->ext_bcch._skip;
  prim->comb_ccch = COMB_CCCH_NOT_COMB;
  prim->tn = TN_0;
  prim->dlt = DLT_10;
  prim->pg = PG_20;
  prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
  prim->bs_pa_mfrms = BS_PA_MFRMS_6;
  prim->power = POWER_12;
  prim->ncc_permitted = NOT_PRESENT_8BIT;
  prim->reorg_only._skip;
  prim->eotd_avail = EOTD_NOT_PRES;
  prim->gprs_support._skip;
  prim->si2quater_status = SI2QUATER_CONFIGURE;
  prim->si2quater_pos = SI2QUATER_ON_EBCCH;

  return prim;
}
#endif  // FF_EGPRS

T_PRIMITIVE_UNION mphc_new_scell_req_20()
{
  T_MPHC_NEW_SCELL_REQ prim;
  prim->radio_freq = ARFCN_14;
  prim->fn_offset = FN_OFFSET_0;
  prim->time_alignment = TIME_ALIGNMT_0;
  prim->tsc = BSIC_1;
   return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_variant(CHAR variant)
{
  T_MPH_POWER_CNF prim;
  int no_of_channels = CHANNELS_0, no_of_white_channels = CHANNELS_0;

  const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
     ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_14_STD_EGSM, ARFCN_140_STD_DUAL_US, 
       ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_1_STD_EGSM,  ARFCN_130_STD_DUAL_US
  };
  T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);

  const U16 ARFCN_130_STD_DUAL_US_elements[] = { ARFCN_130_STD_DUAL_US };

  T_ARRAY<U16>  ARFCN_130_WITH_STD(ARFCN_130_STD_DUAL_US_elements, SKIP_TO_END);

  switch(variant)
  {
    case 'A' :
      no_of_channels = 110;
      no_of_white_channels = 1;
      prim->arfcn = ARFCN_130_WITH_STD;
      break;
    case 'B' :
      prim->inactive_carrier_list.list[0].channels = LIST_1_14_23_124_euro;
      prim->inactive_carrier_list.list[1].channels = LIST_130_140_150_250_155_amr;
      prim->arfcn._skip;
      break;
    case 'C':
      no_of_channels = CHANNELS_8;
      prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
      prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
      prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
      break;
    case 'D':
      prim->inactive_carrier_list.list[0].channels._show;
      prim->inactive_carrier_list.list[1].channels = LIST_no_carriers;
      prim->arfcn._skip;
      break;
    default :
      prim->inactive_carrier_list.list[0].channels._skip;
      prim->inactive_carrier_list.list[1].channels._skip;
      prim->arfcn._skip;
      break;
  }

  prim->rx_lev._skip;
  prim->num_of_chan = no_of_channels;
  prim->num_of_white_list_chan = no_of_white_channels;
  return prim;
}


T_PRIMITIVE_UNION mph_power_cnf_max()
{
  T_MPH_POWER_CNF prim;

  prim->num_of_chan = CHANNELS_160;
  prim->num_of_white_list_chan._show;
  prim->arfcn._show;
  prim->rx_lev._show;
  prim->inactive_carrier_list.list[0].channels._skip;
  prim->inactive_carrier_list.list[1].channels._skip;
  return prim;
}


T_PRIMITIVE_UNION mph_power_cnf_overlap()
{
  T_MPH_POWER_CNF prim;

  prim->num_of_chan._show;
  prim->num_of_white_list_chan._show;
  prim->arfcn._show;
  prim->rx_lev._show;
  prim->inactive_carrier_list.list[0].channels._skip;
  prim->inactive_carrier_list.list[1].channels._skip;
  return prim;
}

T_PRIMITIVE_UNION mph_power_cnf_overlap1()
{
  T_MPH_POWER_CNF prim;

  prim->num_of_chan = CHANNELS_160;
  prim->num_of_white_list_chan._show;
  prim->arfcn._show;
  prim->rx_lev._show;
  prim->inactive_carrier_list.list[0].channels._skip;
  prim->inactive_carrier_list.list[1].channels._skip;
  return prim;
}