view cdg-hybrid/cdginc/p_8010_152_ps_include.val @ 268:f2e52cab0a73

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

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_8010_152_ps_include.val                                      |
| SOURCE  : "sap\8010_152_ps_include.pdf"                                  |
| LastModified : "2003-10-15"                                              |
| IdAndVersion : "8010.152.02.023"                                         |
| SrcFileTime  : "Thu Nov 29 09:28:58 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : PS
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: YES
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_8010_152_PS_INCLUDE_VAL
#define P_8010_152_PS_INCLUDE_VAL


#define CDG_ENTER__P_8010_152_PS_INCLUDE_VAL

#define CDG_ENTER__FILENAME _P_8010_152_PS_INCLUDE_VAL
#define CDG_ENTER__P_8010_152_PS_INCLUDE_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_8010_152_PS_INCLUDE_VAL__LAST_MODIFIED _2003_10_15
#define CDG_ENTER__P_8010_152_PS_INCLUDE_VAL__ID_AND_VERSION _8010_152_02_023

#define CDG_ENTER__P_8010_152_PS_INCLUDE_VAL__SRC_FILE_TIME _Thu_Nov_29_09_28_58_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_8010_152_PS_INCLUDE_VAL

#undef CDG_ENTER__FILENAME


/*
 * Enum to value table VAL_pkt_flow_id
 * CCDGEN:WriteEnum_Count==83
 */
#ifndef __T_PS_VAL_pkt_flow_id__
#define __T_PS_VAL_pkt_flow_id__
typedef enum
{
  PS_PFI_BEST_EFFORT             = 0x0,           /* Best Effort                    */
  PS_PFI_SIGNALING               = 0x1,           /* Signalling                     */
  PS_PFI_SMS                     = 0x2,           /* SMS                            */
  PS_PKT_FLOW_ID_NOT_PRES        = 0xff           /* Value FF is used to indicate when Packet Flow Identifier is not present. */
}T_PS_VAL_pkt_flow_id;
#endif

/*
 * Enum to value table VAL_content
 * CCDGEN:WriteEnum_Count==84
 */
#ifndef __T_PS_VAL_content__
#define __T_PS_VAL_content__
typedef enum
{
  PS_ACC_INDEX_CLASSES_8_TO_15   = 0x0,           /* Index to use in content array for classes 8 to 15 */
  PS_ACC_INDEX_CLASSES_0_TO_7    = 0x1,           /* Index to use in content array for classes 0 to 7 */
  PS_ACC_MASK_CLASS_00           = 0x1,           /* Mask for accessing access class 0 */
  PS_ACC_MASK_CLASS_01           = 0x2,           /* Mask for accessing access class 1 */
  PS_ACC_MASK_CLASS_02           = 0x4,           /* Mask for accessing access class 2 */
  PS_ACC_MASK_CLASS_03           = 0x8,           /* Mask for accessing access class 3 */
  PS_ACC_MASK_CLASS_04           = 0x10,          /* Mask for accessing access class 4 */
  PS_ACC_MASK_CLASS_05           = 0x20,          /* Mask for accessing access class 5 */
  PS_ACC_MASK_CLASS_06           = 0x40,          /* Mask for accessing access class 6 */
  PS_ACC_MASK_CLASS_07           = 0x80,          /* Mask for accessing access class 7 */
  PS_ACC_MASK_CLASS_08           = 0x1,           /* Mask for accessing access class 8 */
  PS_ACC_MASK_CLASS_09           = 0x2,           /* Mask for accessing access class 9 */
  PS_ACC_MASK_CLASS_10           = 0x4,           /* Mask for accessing access class 10 */
  PS_ACC_MASK_CLASS_11           = 0x8,           /* Mask for accessing access class 11 */
  PS_ACC_MASK_CLASS_12           = 0x10,          /* Mask for accessing access class 12 */
  PS_ACC_MASK_CLASS_13           = 0x20,          /* Mask for accessing access class 13 */
  PS_ACC_MASK_CLASS_14           = 0x40,          /* Mask for accessing access class 14 */
  PS_ACC_MASK_CLASS_15           = 0x80           /* Mask for accessing access class 15 */
}T_PS_VAL_content;
#endif

/*
 * Enum to value table VAL_access_modes
 * CCDGEN:WriteEnum_Count==85
 */
#ifndef __T_PS_VAL_access_modes__
#define __T_PS_VAL_access_modes__
typedef enum
{
  PS_GSM_VOICE_ONLY              = 0x0,           /* GSM voice only mode            */
  PS_GSM                         = 0x1,           /* GSM voice and data mode        */
  PS_GSM_GPRS                    = 0x2,           /* GSM voice and data with GPRS mode */
  PS_UMTS_FDD                    = 0x3,           /* UMTS FDD only mode             */
  PS_GSM_GPRS_UMTS_FDD           = 0x4            /* GSM voice and data, GPRS and UMTS mode */
}T_PS_VAL_access_modes;
#endif

/*
 * Enum to value table VAL_arfcn_rssi
 * CCDGEN:WriteEnum_Count==86
 */
#ifndef __T_PS_VAL_arfcn_rssi__
#define __T_PS_VAL_arfcn_rssi__
typedef enum
{
  PS_VAL_ARFCN_RSSI__RANGE_MIN   = -0x6e,         /* minimum                        */
  PS_VAL_ARFCN_RSSI__RANGE_MAX   = -0x14          /* maximum                        */
}T_PS_VAL_arfcn_rssi;
#endif

/*
 * Enum to value table VAL_attach_detach_allowed
 * CCDGEN:WriteEnum_Count==87
 */
#ifndef __T_PS_VAL_attach_detach_allowed__
#define __T_PS_VAL_attach_detach_allowed__
typedef enum
{
  PS_ATTACH_DETACH_NOT_ALLOWED   = 0x0,           /* Attach/detach not allowed      */
  PS_ATTACH_DETACH_ALLOWED       = 0x1            /* Attach/detach allowed          */
}T_PS_VAL_attach_detach_allowed;
#endif

/*
 * Enum to value table VAL_service_level
 * CCDGEN:WriteEnum_Count==88
 */
#ifndef __T_PS_VAL_service_level__
#define __T_PS_VAL_service_level__
typedef enum
{
  PS_LIMITED_SERVICE             = 0x0,           /* Camped on acceptable cell. This indicates that the cell is selected for limited service. */
  PS_NORMAL_SERVICE              = 0x1,           /* Camped on suitable cell. This indicates that the cell is selected for normal service. */
  PS_NORMAL_SERVICE_OPERATOR_CELL = 0x2           /* Camped on a suitable operator cell. This indicates that the cell is selected for normal service, and is reserved for operator use. */
}T_PS_VAL_service_level;
#endif

/*
 * Enum to value table VAL_cn_domain
 * CCDGEN:WriteEnum_Count==89
 */
#ifndef __T_PS_VAL_cn_domain__
#define __T_PS_VAL_cn_domain__
typedef enum
{
  PS_CN_DOMAIN_CS                = 0x0,           /* Circuit switched core network domain */
  PS_CN_DOMAIN_PS                = 0x1,           /* Packet switched core network domain */
  PS_CN_DOMAIN_NOT_IMPORTANT     = 0x2            /* Core network domain not important */
}T_PS_VAL_cn_domain;
#endif

/*
 * Enum to value table VAL_cpich_ec_n0
 * CCDGEN:WriteEnum_Count==90
 */
#ifndef __T_PS_VAL_cpich_ec_n0__
#define __T_PS_VAL_cpich_ec_n0__
typedef enum
{
  PS_VAL_CPICH_EC_N0__RANGE_MIN  = -0x30,         /* minimum                        */
  PS_VAL_CPICH_EC_N0__RANGE_MAX  = 0x0            /* maximum                        */
}T_PS_VAL_cpich_ec_n0;
#endif

/*
 * Enum to value table VAL_cpich_rscp
 * CCDGEN:WriteEnum_Count==91
 */
#ifndef __T_PS_VAL_cpich_rscp__
#define __T_PS_VAL_cpich_rscp__
typedef enum
{
  PS_VAL_CPICH_RSCP__RANGE_MIN   = -0x73,         /* minimum                        */
  PS_VAL_CPICH_RSCP__RANGE_MAX   = -0x19          /* maximum                        */
}T_PS_VAL_cpich_rscp;
#endif

/*
 * Enum to value table VAL_est_service
 * CCDGEN:WriteEnum_Count==92
 */
#ifndef __T_PS_VAL_est_service__
#define __T_PS_VAL_est_service__
typedef enum
{
  PS_SERVICE_SPEECH              = 0x0,           /* CS Speech call                 */
  PS_SERVICE_MULTIMEDIA          = 0x1,           /* CS Multimedia call             */
  PS_SERVICE_FAX                 = 0x2,           /* CS Fax call                    */
  PS_SERVICE_NT_CSD              = 0x3,           /* Non transparent CS data call   */
  PS_SERVICE_T_CSD               = 0x4,           /* Transparent CS data call       */
  PS_SERVICE_EMERGE              = 0x5            /* CS emergency speech call       */
}T_PS_VAL_est_service;
#endif

/*
 * Enum to value table VAL_arfcn
 * CCDGEN:WriteEnum_Count==93
 */
#ifndef __T_PS_VAL_arfcn__
#define __T_PS_VAL_arfcn__
typedef enum
{
  PS_VAL_ARFCN__RANGE_MIN        = 0x0,           /* minimum                        */
  PS_VAL_ARFCN__RANGE_MAX        = 0x3ff          /* maximum                        */
}T_PS_VAL_arfcn;
#endif

/*
 * Enum to value table VAL_gsm_band_priority
 * CCDGEN:WriteEnum_Count==94
 */
#ifndef __T_PS_VAL_gsm_band_priority__
#define __T_PS_VAL_gsm_band_priority__
typedef enum
{
  PS_EU_BAND                     = 0x0,           /* EU band has priority           */
  PS_US_BAND                     = 0x1            /* US band has priority           */
}T_PS_VAL_gsm_band_priority;
#endif

/*
 * Enum to value table VAL_bcc
 * CCDGEN:WriteEnum_Count==95
 */
#ifndef __T_PS_VAL_bcc__
#define __T_PS_VAL_bcc__
typedef enum
{
  PS_VAL_BCC__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_BCC__RANGE_MAX          = 0x7            /* maximum                        */
}T_PS_VAL_bcc;
#endif

/*
 * Enum to value table VAL_ncc
 * CCDGEN:WriteEnum_Count==96
 */
#ifndef __T_PS_VAL_ncc__
#define __T_PS_VAL_ncc__
typedef enum
{
  PS_VAL_NCC__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_NCC__RANGE_MAX          = 0x7            /* maximum                        */
}T_PS_VAL_ncc;
#endif

/*
 * Enum to value table VAL_gsm_frequency_band
 * CCDGEN:WriteEnum_Count==97
 */
#ifndef __T_PS_VAL_gsm_frequency_band__
#define __T_PS_VAL_gsm_frequency_band__
typedef enum
{
  PS_GSM_BAND_NOT_SET            = 0x0,           /* No channel numbers.            */
  PS_GSM450                      = 0x1,           /* Channel numbers from 259 to 293 for GSM450 */
  PS_GSM480                      = 0x2,           /* Channel numbers from 306 to 340 for GSM480 */
  PS_GSM850                      = 0x4,           /* Channel numbers from 128 to 251 for GSM850 */
  PS_GSM900P                     = 0x8,           /* Channel numbers from 1 to 124 for P-GSM900 */
  PS_GSM900E                     = 0x10,          /* Channel numbers from 0 to 124, and 975 to 1023 for E-GSM900 */
  PS_GSM1800                     = 0x20,          /* Channel numbers from 512 to 885 for GSM1800 */
  PS_GSM1900                     = 0x40,          /* Channel numbers from 512 to 810 for GSM1900 */
  PS_GSM1800_BAND_INDICATOR      = 0x39,          /* All channel numbers. Channel numbers from 512 to 810 are to be interpreted as GSM1800 channel numbers. */
  PS_GSM1900_BAND_INDICATOR      = 0x46           /* All channel numbers. Channel numbers from 512 to 810 are to be interpreted as GSM1900 channel numbers. */
}T_PS_VAL_gsm_frequency_band;
#endif

/*
 * Enum to value table VAL_gsm_ncell_index
 * CCDGEN:WriteEnum_Count==98
 */
#ifndef __T_PS_VAL_gsm_ncell_index__
#define __T_PS_VAL_gsm_ncell_index__
typedef enum
{
  PS_VAL_GSM_NCELL_INDEX__RANGE_MIN = 0x0,        /* minimum                        */
  PS_VAL_GSM_NCELL_INDEX__RANGE_MAX = 0x1f        /* maximum                        */
}T_PS_VAL_gsm_ncell_index;
#endif

/*
 * Enum to value table VAL_bsic_valid
 * CCDGEN:WriteEnum_Count==99
 */
#ifndef __T_PS_VAL_bsic_valid__
#define __T_PS_VAL_bsic_valid__
typedef enum
{
  PS_BSIC_NOT_VALIDATED          = 0x0,           /* BSIC for the cell on this channel is not validated or not matched to that of the specified cell. */
  PS_BSIC_VALIDATED              = 0x1            /* BSIC for the cell on this channel is validated and matches that of the specified cell. */
}T_PS_VAL_bsic_valid;
#endif

/*
 * Enum to value table VAL_llc_mode
 * CCDGEN:WriteEnum_Count==100
 */
#ifndef __T_PS_VAL_llc_mode__
#define __T_PS_VAL_llc_mode__
typedef enum
{
  PS_LLC_UNACKNOWLEDGED          = 0x0,           /* Unacknowledged SAPI            */
  PS_LLC_ACKNOWLEDGED            = 0x1            /* Acknowledged SAPI              */
}T_PS_VAL_llc_mode;
#endif

/*
 * Enum to value table VAL_meas_mode
 * CCDGEN:WriteEnum_Count==101
 */
#ifndef __T_PS_VAL_meas_mode__
#define __T_PS_VAL_meas_mode__
typedef enum
{
  PS_MEASURE_IDLE                = 0x0,           /* Measurements without a configured DCH */
  PS_MEASURE_DEDICATED           = 0x1            /* Measurements with a configured DCH */
}T_PS_VAL_meas_mode;
#endif

/*
 * Enum to value table VAL_nmo
 * CCDGEN:WriteEnum_Count==102
 */
#ifndef __T_PS_VAL_nmo__
#define __T_PS_VAL_nmo__
typedef enum
{
  PS_RR_NMO_I                    = 0x0,           /* Network mode of operation I, only one Paging channel for both: PCCCH or  CCCH */
  PS_RR_NMO_II                   = 0x1,           /* Network mode of operation II, Paging only on CCCH */
  PS_RR_NMO_III                  = 0x2            /* Network mode of operation III, Paging on CCCH for CS and either on CCCH or on PCCCH for GPRS, if PCCH allocated in the cell */
}T_PS_VAL_nmo;
#endif

/*
 * Enum to value table VAL_search_mode
 * CCDGEN:WriteEnum_Count==103
 */
#ifndef __T_PS_VAL_search_mode__
#define __T_PS_VAL_search_mode__
typedef enum
{
  PS_SEARCH_MODE_AUTO            = 0x0,           /* Automatic network scan         */
  PS_SEARCH_MODE_MAN             = 0x1            /* Manual network scan            */
}T_PS_VAL_search_mode;
#endif

/*
 * Enum to value table VAL_t3212
 * CCDGEN:WriteEnum_Count==104
 */
#ifndef __T_PS_VAL_t3212__
#define __T_PS_VAL_t3212__
typedef enum
{
  PS_VAL_T3212__RANGE_MIN        = 0x1,           /* minimum                        */
  PS_VAL_T3212__RANGE_MAX        = 0xff,          /* maximum                        */
  PS_NO_PERIODIC_UPDATE          = 0x0            /* No periodic updating           */
}T_PS_VAL_t3212;
#endif

/*
 * Enum to value table VAL_mnc
 * CCDGEN:WriteEnum_Count==105
 */
#ifndef __T_PS_VAL_mnc__
#define __T_PS_VAL_mnc__
typedef enum
{
  PS_VAL_MNC__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_MNC__RANGE_MAX          = 0x9            /* maximum                        */
}T_PS_VAL_mnc;
#endif

/*
 * Enum to value table VAL_mcc
 * CCDGEN:WriteEnum_Count==106
 */
#ifndef __T_PS_VAL_mcc__
#define __T_PS_VAL_mcc__
typedef enum
{
  PS_VAL_MCC__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_MCC__RANGE_MAX          = 0x9            /* maximum                        */
}T_PS_VAL_mcc;
#endif

/*
 * Enum to value table VAL_rat
 * CCDGEN:WriteEnum_Count==107
 */
#ifndef __T_PS_VAL_rat__
#define __T_PS_VAL_rat__
typedef enum
{
  PS_RAT_GSM                     = 0x0,           /* GSM                            */
  PS_RAT_UMTS_FDD                = 0x1            /* UMTS FDD                       */
}T_PS_VAL_rat;
#endif

/*
 * Enum to value table VAL_radio_prio
 * CCDGEN:WriteEnum_Count==108
 */
#ifndef __T_PS_VAL_radio_prio__
#define __T_PS_VAL_radio_prio__
typedef enum
{
  PS_RADIO_PRIO_1                = 0x0,           /* radio priority 1 (highest)     */
  PS_RADIO_PRIO_2                = 0x1,           /* radio priority 2               */
  PS_RADIO_PRIO_3                = 0x2,           /* radio priority 3               */
  PS_RADIO_PRIO_4                = 0x3            /* radio priority 4 (lowest)      */
}T_PS_VAL_radio_prio;
#endif

/*
 * Enum to value table VAL_rel_ind
 * CCDGEN:WriteEnum_Count==109
 */
#ifndef __T_PS_VAL_rel_ind__
#define __T_PS_VAL_rel_ind__
typedef enum
{
  PS_REL_IND_NO                  = 0x0,           /* Non-local deactivation         */
  PS_REL_IND_YES                 = 0x1            /* Local deactivation             */
}T_PS_VAL_rel_ind;
#endif

/*
 * Enum to value table VAL_ksi
 * CCDGEN:WriteEnum_Count==110
 */
#ifndef __T_PS_VAL_ksi__
#define __T_PS_VAL_ksi__
typedef enum
{
  PS_VAL_KSI__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_KSI__RANGE_MAX          = 0x6,           /* maximum                        */
  PS_VAL_KSI___7                 = 0x7            /* Sequence number value indicating that the key is not present (initial value on (U)SIM) */
}T_PS_VAL_ksi;
#endif

/*
 * Enum to value table VAL_sapi
 * CCDGEN:WriteEnum_Count==111
 */
#ifndef __T_PS_VAL_sapi__
#define __T_PS_VAL_sapi__
typedef enum
{
  PS_SAPI_0                      = 0x0,           /* SAPI 0 (GSM only)              */
  PS_SAPI_1                      = 0x1,           /* SAP for MM                     */
  PS_SAPI_3                      = 0x3,           /* SAP 1 for SNDCP or SAPI 3 (GSM only) */
  PS_SAPI_5                      = 0x5,           /* SAP 2 for SNDCP                */
  PS_SAPI_7                      = 0x7,           /* SAP for SMS                    */
  PS_SAPI_9                      = 0x9,           /* SAP 3 for SNDCP                */
  PS_SAPI_11                     = 0xb,           /* SAP 4 for SNDCP                */
  PS_SAPI_INVALID                = 0xff           /* Invalid SAPI identifier        */
}T_PS_VAL_sapi;
#endif

/*
 * Enum to value table VAL_sim_type
 * CCDGEN:WriteEnum_Count==112
 */
#ifndef __T_PS_VAL_sim_type__
#define __T_PS_VAL_sim_type__
typedef enum
{
  PS_SIM_PRESENT                 = 0x0,           /* SIM present                    */
  PS_USIM_PRESENT                = 0x1            /* USIM present                   */
}T_PS_VAL_sim_type;
#endif

/*
 * Enum to value table VAL_uarfcn_rssi
 * CCDGEN:WriteEnum_Count==113
 */
#ifndef __T_PS_VAL_uarfcn_rssi__
#define __T_PS_VAL_uarfcn_rssi__
typedef enum
{
  PS_VAL_UARFCN_RSSI__RANGE_MIN  = -0x64,         /* minimum                        */
  PS_VAL_UARFCN_RSSI__RANGE_MAX  = -0x19          /* maximum                        */
}T_PS_VAL_uarfcn_rssi;
#endif

/*
 * Enum to value table VAL_uarfcn
 * CCDGEN:WriteEnum_Count==114
 */
#ifndef __T_PS_VAL_uarfcn__
#define __T_PS_VAL_uarfcn__
typedef enum
{
  PS_VAL_UARFCN__RANGE_MIN       = 0x0,           /* minimum                        */
  PS_VAL_UARFCN__RANGE_MAX       = 0x3fff         /* maximum                        */
}T_PS_VAL_uarfcn;
#endif

/*
 * Enum to value table VAL_cell_status
 * CCDGEN:WriteEnum_Count==115
 */
#ifndef __T_PS_VAL_cell_status__
#define __T_PS_VAL_cell_status__
typedef enum
{
  PS_CELL_STATUS_UNKNOWN         = 0x0,           /* It is not known whether this cell is suitable or acceptable at this time. */
  PS_CELL_STATUS_UNACCEPTABLE    = 0x1,           /* The cell is not acceptable or suitable as defined by the criteria in [3G 25.304] */
  PS_CELL_STATUS_ACCEPTABLE      = 0x2,           /* The cell is acceptable as defined by the criteria in [3G 25.304]. */
  PS_CELL_STATUS_SUITABLE        = 0x3            /* The cell is suitable as defined by the criteria in [3G 25.304] */
}T_PS_VAL_cell_status;
#endif

/*
 * Enum to value table VAL_psc
 * CCDGEN:WriteEnum_Count==116
 */
#ifndef __T_PS_VAL_psc__
#define __T_PS_VAL_psc__
typedef enum
{
  PS_VAL_PSC__RANGE_MIN          = 0x0,           /* minimum                        */
  PS_VAL_PSC__RANGE_MAX          = 0x1ff          /* maximum                        */
}T_PS_VAL_psc;
#endif

/*
 * Enum to value table VAL_threshold
 * CCDGEN:WriteEnum_Count==117
 */
#ifndef __T_PS_VAL_threshold__
#define __T_PS_VAL_threshold__
typedef enum
{
  PS_VAL_THRESHOLD__RANGE_MIN    = 0x0,           /* minimum                        */
  PS_VAL_THRESHOLD__RANGE_MAX    = 0xfffff        /* maximum                        */
}T_PS_VAL_threshold;
#endif

/*
 * Enum to value table VAL_start_val
 * CCDGEN:WriteEnum_Count==118
 */
#ifndef __T_PS_VAL_start_val__
#define __T_PS_VAL_start_val__
typedef enum
{
  PS_VAL_START_VAL__RANGE_MIN    = 0x0,           /* minimum                        */
  PS_VAL_START_VAL__RANGE_MAX    = 0xfffff        /* maximum                        */
}T_PS_VAL_start_val;
#endif

/*
 * Enum to value table VAL_tx_diversity
 * CCDGEN:WriteEnum_Count==119
 */
#ifndef __T_PS_VAL_tx_diversity__
#define __T_PS_VAL_tx_diversity__
typedef enum
{
  PS_TX_DIVERSITY_USED           = 0x0,           /* TX diversity used for a cell   */
  PS_TX_DIVERSITY_NOT_USED       = 0x1            /* TX diversity not used for a cell */
}T_PS_VAL_tx_diversity;
#endif

/*
 * Enum to value table VAL_sgsn_rel
 * CCDGEN:WriteEnum_Count==120
 */
#ifndef __T_PS_VAL_sgsn_rel__
#define __T_PS_VAL_sgsn_rel__
typedef enum
{
  PS_SGSN_UNKNOWN                = 0x0,           /* SGSN release unknown/uninitialized */
  PS_SGSN_98_OLDER               = 0x1,           /* SGSN is release 98 or older    */
  PS_SGSN_99_ONWARDS             = 0x2            /* SGSN is relesase 99 or onwards */
}T_PS_VAL_sgsn_rel;
#endif

/*
 * Enum to value table VAL_peak
 * CCDGEN:WriteEnum_Count==121
 */
#ifndef __T_PS_VAL_peak__
#define __T_PS_VAL_peak__
typedef enum
{
  PS_PEAK_SUB                    = 0x0,           /* Subscribed peak throughput     */
  PS_PEAK_1K                     = 0x1,           /* Up to 1 000 octet/s            */
  PS_PEAK_2K                     = 0x2,           /* Up to 2 000 octet/s            */
  PS_PEAK_4K                     = 0x3,           /* Up to 4 000 octet/s            */
  PS_PEAK_8K                     = 0x4,           /* Up to 8 000 octet/s            */
  PS_PEAK_16K                    = 0x5,           /* Up to 16 000 octet/s           */
  PS_PEAK_32K                    = 0x6,           /* Up to 32 000 octet/s           */
  PS_PEAK_64K                    = 0x7,           /* Up to 64 000 octet/s           */
  PS_PEAK_128K                   = 0x8,           /* Up to 128 000 octet/s          */
  PS_PEAK_256K                   = 0x9            /* Up to 256 000 octet/s          */
}T_PS_VAL_peak;
#endif

/*
 * Enum to value table VAL_relclass
 * CCDGEN:WriteEnum_Count==122
 */
#ifndef __T_PS_VAL_relclass__
#define __T_PS_VAL_relclass__
typedef enum
{
  PS_RELCLASS_SUB                = 0x0,           /* Subscribed reliability class   */
  PS_GTP_LLC_RLC_PROT            = 0x1,           /* Acknowledged GTP, LLC, and RLC; Protected data */
  PS_LLC_RLC_PROT                = 0x2,           /* Unacknowledged GTP; Acknowledged LLC and RLC, Protected data */
  PS_RLC_PROT                    = 0x3,           /* Unacknowledged GTP and LLC; Acknowledged RLC, Protected data */
  PS_PROT                        = 0x4,           /* Unacknowledged GTP, LLC, and RLC, Protected data */
  PS_NO_REL                      = 0x5            /* Unacknowledged GTP, LLC, and RLC, Unprotected data */
}T_PS_VAL_relclass;
#endif

/*
 * Enum to value table VAL_delay
 * CCDGEN:WriteEnum_Count==123
 */
#ifndef __T_PS_VAL_delay__
#define __T_PS_VAL_delay__
typedef enum
{
  PS_DELAY_SUB                   = 0x0,           /* Subscribed delay class         */
  PS_DELAY_1                     = 0x1,           /* Delay class 1                  */
  PS_DELAY_2                     = 0x2,           /* Delay class 2                  */
  PS_DELAY_3                     = 0x3,           /* Delay class 3                  */
  PS_DELAY_4                     = 0x4            /* Delay class 4 (best effort)    */
}T_PS_VAL_delay;
#endif

/*
 * Enum to value table VAL_mean
 * CCDGEN:WriteEnum_Count==124
 */
#ifndef __T_PS_VAL_mean__
#define __T_PS_VAL_mean__
typedef enum
{
  PS_MEAN_SUB                    = 0x0,           /* Subscribed mean throughput     */
  PS_MEAN_100                    = 0x1,           /* 100 octet/h                    */
  PS_MEAN_200                    = 0x2,           /* 200 octet/h                    */
  PS_MEAN_500                    = 0x3,           /* 500 octet/h                    */
  PS_MEAN_1K                     = 0x4,           /* 1 000 octet/h                  */
  PS_MEAN_2K                     = 0x5,           /* 2 000 octet/h                  */
  PS_MEAN_5K                     = 0x6,           /* 5 000 octet/h                  */
  PS_MEAN_10K                    = 0x7,           /* 10 000 octet/h                 */
  PS_MEAN_20K                    = 0x8,           /* 20 000 octet/h                 */
  PS_MEAN_50K                    = 0x9,           /* 50 000 octet/h                 */
  PS_MEAN_100K                   = 0xa,           /* 100 000 octet/h                */
  PS_MEAN_200K                   = 0xb,           /* 200 000 octet/h                */
  PS_MEAN_500K                   = 0xc,           /* 500 000 octet/h                */
  PS_MEAN_1M                     = 0xd,           /* 1 000 000 octet/h              */
  PS_MEAN_2M                     = 0xe,           /* 2 000 000 octet/h              */
  PS_MEAN_5M                     = 0xf,           /* 5 000 000 octet/h              */
  PS_MEAN_10M                    = 0x10,          /* 10 000 000 octet/h             */
  PS_MEAN_20M                    = 0x11,          /* 20 000 000 octet/h             */
  PS_MEAN_50M                    = 0x12,          /* 50 000 000 octet/h             */
  PS_MEAN_BEST                   = 0x1f           /* Best effort                    */
}T_PS_VAL_mean;
#endif

/*
 * Enum to value table VAL_preced
 * CCDGEN:WriteEnum_Count==125
 */
#ifndef __T_PS_VAL_preced__
#define __T_PS_VAL_preced__
typedef enum
{
  PS_PRECED_SUB                  = 0x0,           /* Subscribed precedence          */
  PS_PRIO_HIGH                   = 0x1,           /* High priority                  */
  PS_PRIO_NORM                   = 0x2,           /* Normal priority                */
  PS_PRIO_LOW                    = 0x3            /* Low priority                   */
}T_PS_VAL_preced;
#endif

/*
 * Enum to value table VAL_guar_br_dl
 * CCDGEN:WriteEnum_Count==126
 */
#ifndef __T_PS_VAL_guar_br_dl__
#define __T_PS_VAL_guar_br_dl__
typedef enum
{
  PS_GUAR_BR_DL_SUB              = 0x0            /* Subscribed guaranteed uplink data rate */
}T_PS_VAL_guar_br_dl;
#endif

/*
 * Enum to value table VAL_max_rate_dl
 * CCDGEN:WriteEnum_Count==127
 */
#ifndef __T_PS_VAL_max_rate_dl__
#define __T_PS_VAL_max_rate_dl__
typedef enum
{
  PS_MAX_BR_DL_SUB               = 0x0,           /* Subscribed maximum downlink data rate */
  PS_MAX_BR_DL_0                 = 0xff           /* 0 kbps downlink data rate      */
}T_PS_VAL_max_rate_dl;
#endif

/*
 * Enum to value table VAL_max_sdu
 * CCDGEN:WriteEnum_Count==128
 */
#ifndef __T_PS_VAL_max_sdu__
#define __T_PS_VAL_max_sdu__
typedef enum
{
  PS_MAX_SDU_SUB                 = 0x0,           /* Subscribed maximum SDU size    */
  PS_MAX_SDU_1502                = 0x97,          /* Value not corresponding to binary coding of SDU size declared constant */
  PS_MAX_SDU_1510                = 0x98,          /* do.                            */
  PS_MAX_SDU_1520                = 0x99           /* do.                            */
}T_PS_VAL_max_sdu;
#endif

/*
 * Enum to value table VAL_order
 * CCDGEN:WriteEnum_Count==129
 */
#ifndef __T_PS_VAL_order__
#define __T_PS_VAL_order__
typedef enum
{
  PS_ORDER_NO                    = 0x0,           /* Without delivery order ('no')  */
  PS_ORDER_YES                   = 0x1,           /* With delivery order ('yes')    */
  PS_ORDER_SUB                   = 0x2            /* Subscribed delivery order      */
}T_PS_VAL_order;
#endif

/*
 * Enum to value table VAL_del_err_sdu
 * CCDGEN:WriteEnum_Count==130
 */
#ifndef __T_PS_VAL_del_err_sdu__
#define __T_PS_VAL_del_err_sdu__
typedef enum
{
  PS_DEL_ERR_NO                  = 0x0,           /* Erroneous SDUs are not delivered ('no') */
  PS_DEL_ERR_YES                 = 0x1,           /* Erroneous SDUs are delivered ('yes') */
  PS_DEL_ERR_NODETECT            = 0x2,           /* No detect ('-')                */
  PS_DEL_ERR_SUB                 = 0x3            /* Subscribed delivery of erroneous SDUs */
}T_PS_VAL_del_err_sdu;
#endif

/*
 * Enum to value table VAL_tc
 * CCDGEN:WriteEnum_Count==131
 */
#ifndef __T_PS_VAL_tc__
#define __T_PS_VAL_tc__
typedef enum
{
  PS_TC_CONV                     = 0x0,           /* Conversational class           */
  PS_TC_STREAM                   = 0x1,           /* Streaming class                */
  PS_TC_INTER                    = 0x2,           /* Interactive class              */
  PS_TC_BG                       = 0x3,           /* Background class               */
  PS_TC_SUB                      = 0x4            /* Subscribed traffic class       */
}T_PS_VAL_tc;
#endif

/*
 * Enum to value table VAL_max_rate_ul
 * CCDGEN:WriteEnum_Count==132
 */
#ifndef __T_PS_VAL_max_rate_ul__
#define __T_PS_VAL_max_rate_ul__
typedef enum
{
  PS_MAX_BR_UL_SUB               = 0x0,           /* Subscribed maximum uplink data rate */
  PS_MAX_BR_UL_0                 = 0xff           /* 0 kbps uplink data rate        */
}T_PS_VAL_max_rate_ul;
#endif

/*
 * Enum to value table VAL_guar_br_ul
 * CCDGEN:WriteEnum_Count==133
 */
#ifndef __T_PS_VAL_guar_br_ul__
#define __T_PS_VAL_guar_br_ul__
typedef enum
{
  PS_GUAR_BR_UL_SUB              = 0x0            /* Subscribed guaranteed uplink data rate */
}T_PS_VAL_guar_br_ul;
#endif

/*
 * Enum to value table VAL_handling_pri
 * CCDGEN:WriteEnum_Count==134
 */
#ifndef __T_PS_VAL_handling_pri__
#define __T_PS_VAL_handling_pri__
typedef enum
{
  PS_HANDLING_PRI_SUB            = 0x0,           /* Subscribed traffic handling priority */
  PS_HANDLING_PRI_1              = 0x1,           /* Priority level 1               */
  PS_HANDLING_PRI_2              = 0x2,           /* Priority level 2               */
  PS_HANDLING_PRI_3              = 0x3            /* Priority level 3               */
}T_PS_VAL_handling_pri;
#endif

/*
 * Enum to value table VAL_xfer_delay
 * CCDGEN:WriteEnum_Count==135
 */
#ifndef __T_PS_VAL_xfer_delay__
#define __T_PS_VAL_xfer_delay__
typedef enum
{
  PS_XFER_DELAY_SUB              = 0x0            /* Subscribed transfer delay      */
}T_PS_VAL_xfer_delay;
#endif

/* 
 * enum to UnionController qos 
 * CCDGEN:WriteEnum_Count==136
 */
#ifndef __T_PS_ctrl_qos__
#define __T_PS_ctrl_qos__
typedef enum
{
  PS_is_qos_not_present          = 0x0,           
  PS_is_R97                      = 0x1,           
  PS_is_R99                      = 0x2            
}T_PS_ctrl_qos;
#endif

/* 
 * enum to UnionController min_qos 
 * CCDGEN:WriteEnum_Count==137
 */
#ifndef __T_PS_ctrl_min_qos__
#define __T_PS_ctrl_min_qos__
typedef enum
{
  PS_is_min_qos_not_present      = 0x0,           
  PS_is_min_R97                  = 0x1,           
  PS_is_min_R99                  = 0x2            
}T_PS_ctrl_min_qos;
#endif

/*
 * user defined constants
 */
#define PS_BCC_MAX                     (0x7)      
#define PS_SIZE_TMSI                   (0x4)      
#define PS_SIZE_P_TMSI                 (0x4)      
#define PS_CPICH_RSCP_MAX              (0xffffffe7)
#define PS_CPICH_RSCP_MIN              (0xffffff8d)
#define PS_SIZE_KC                     (0x8)      
#define PS_MAX_EQUIVALENT_PLMNS        (0x5)      
#define PS_MAX_FORBIDDEN_LAI           (0xa)      
#define PS_MAX_GSM_NCELLS              (0x20)     
#define PS_MAX_GSM_NCELL_INDEX         (0x1f)     
#define PS_MAX_UMTS_NCELLS             (0x40)     
#define PS_MAX_UMTS_NCELLS_PER_UARFCN  (0x20)     
#define PS_MAX_UMTS_NCELL_UARFCNS      (0x3)      
#define PS_MAX_UMTS_PRECONFIGURATIONS  (0x10)     
#define PS_NCC_MAX                     (0x7)      
#define PS_PSC_MAX                     (0x1ff)    
#define PS_PSC_MIN                     (0x0)      
#define PS_SIZE_ACC                    (0x2)      
#define PS_SIZE_AI                     (0x2)      
#define PS_SIZE_IMSI_MAX               (0xf)      
#define PS_SIZE_IMSI_MIN               (0x6)      
#define PS_SIZE_LAC                    (0x2)      
#define PS_SIZE_MCC                    (0x3)      
#define PS_SIZE_MNC_MAX                (0x3)      
#define PS_SIZE_MNC_MIN                (0x2)      
#define PS_MAX_START_VALUE             (0xfffff)  
#define PS_SIZE_CK                     (0x10)     
#define PS_SIZE_IK                     (0x10)     
#define PS_SIZE_CN_COMMON_GSM_NAS_SI   (0x8)      
#define PS_MAX_UL_SDU                  (0xff)     
#define PS_MIN_BCD_VALUE               (0x0)      
#define PS_MAX_BCD_VALUE               (0x9)      
#define PS_MIN_KEY_SEQ_NUM             (0x0)      
#define PS_MAX_KEY_SEQ_NUM             (0x6)      
#define PS_KEY_SEQ_INVALID             (0x7)      
#define PS_MIN_ARFCN_VALUE             (0x0)      
#define PS_MAX_ARFCN_VALUE             (0x3ff)    
#define PS_MIN_ARFCN_GSM900E_LOW       (0x0)      
#define PS_MAX_ARFCN_GSM900E_LOW       (0x7c)     
#define PS_MIN_ARFCN_GSM900E_HIGH      (0x3cf)    
#define PS_MAX_ARFCN_GSM900E_HIGH      (0x3ff)    
#define PS_MIN_ARFCN_GSM900P           (0x1)      
#define PS_MAX_ARFCN_GSM900P           (0x7c)     
#define PS_MIN_ARFCN_GSM850            (0x80)     
#define PS_MAX_ARFCN_GSM850            (0xfb)     
#define PS_MIN_ARFCN_GSM450            (0x103)    
#define PS_MAX_ARFCN_GSM450            (0x125)    
#define PS_MIN_ARFCN_GSM480            (0x132)    
#define PS_MAX_ARFCN_GSM480            (0x154)    
#define PS_MIN_ARFCN_GSM1800           (0x200)    
#define PS_MAX_ARFCN_GSM1800           (0x375)    
#define PS_MIN_ARFCN_GSM1900           (0x200)    
#define PS_MAX_ARFCN_GSM1900           (0x32a)    
#define PS_MIN_RSSI_GSM                (0xffffff92)
#define PS_MAX_RSSI_GSM                (0xffffffec)
#define PS_MIN_RSSI_UMTS               (0xffffffd0)
#define PS_MAX_RSSI_UMTS               (0x0)      
#define PS_MIN_UARFCN                  (0x0)      
#define PS_MAX_UARFCN                  (0x3fff)   

#include "CDG_LEAVE.h"


#endif