view cdg-hybrid/cdginc/m_gmm.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    : m_gmm.val                                                      |
| SOURCE  : "msg\gmm.mdf"                                                  |
| LastModified : "2003-08-18"                                              |
| IdAndVersion : "8441.603.02.013"                                         |
| SrcFileTime  : "Wed Nov 28 10:18:48 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef M_GMM_VAL
#define M_GMM_VAL


#define CDG_ENTER__M_GMM_VAL

#define CDG_ENTER__FILENAME _M_GMM_VAL
#define CDG_ENTER__M_GMM_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__M_GMM_VAL__LAST_MODIFIED _2003_08_18
#define CDG_ENTER__M_GMM_VAL__ID_AND_VERSION _8441_603_02_013

#define CDG_ENTER__M_GMM_VAL__SRC_FILE_TIME _Wed_Nov_28_10_18_48_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__M_GMM_VAL

#undef CDG_ENTER__FILENAME

#include "m_rr_com.val"   /* Access values independent from the corresponding h-file. */


/*
 * Value constants for VAL_tmsi_flag
 */
#define NO                             (0x0)      /* not present                    */
#define YES                            (0x1)      /* present                        */

/*
 * Value constants for VAL_key_sequence
 */
#define NO_KEY                         (0x7)      /* No key is available (MS to network); Reserved (network to MS) */

/*
 * Value constants for VAL_imeisv_request_value
 */
#define VAL_IMEISV_REQUEST_VALUE___DEF (0x0)      /* IMEISV not requested           */
#define IMEISV_NOT_REQUESTED           (0x0)      /* IMEISV not requested           */
#define IMEISV_REQUESTED               (0x1)      /* IMEISV requested               */

/*
 * Value constants for VAL_type_of_algorithm
 */
#define VAL_TYPE_OF_ALGORITHM___DEF    (0x0)      /* reserved                       */
#define NO_CIPHERING                   (0x0)      /* ciphering not used             */
#define GEA_1                          (0x1)      /* GPRS Encryption Algorithm GEA/1 */
#define GEA_2                          (0x2)      /* GPRS Encryption Algorithm GEA/2 */
#define GEA_3                          (0x3)      /* GPRS Encryption Algorithm GEA/3 */
#define GEA_4                          (0x4)      /* GPRS Encryption Algorithm GEA/4 */
#define GEA_5                          (0x5)      /* GPRS Encryption Algorithm GEA/5 */
#define GEA_6                          (0x6)      /* GPRS Encryption Algorithm GEA/6 */
#define GEA_7                          (0x7)      /* GPRS Encryption Algorithm GEA/7 */

/*
 * Value constants for VAL_update_type_value
 */
#define VAL_UPDATE_TYPE_VALUE___DEF    (0x0)      /* reserved                       */
#define RAU                            (0x0)      /* RA updating                    */
#define COMBINED_RAU                   (0x1)      /* combined RA/LA updating        */
#define COMBINED_RAU_IMSI_ATTACH       (0x2)      /* combined RA/LA updating with IMSI attach */
#define PERIODIC_RAU                   (0x3)      /* Periodic updating              */

/*
 * Value constants for VAL_result_value
 */
#define VAL_RESULT_VALUE___DEF         (0x0)      /* reserved                       */
#define NORMAL_UPDATED                 (0x0)      /* normal RA updated              */
#define NORMAL_ATTACHED                (0x1)      /* normal attached or combined RA/LA updated */
#define COMBINED_ATTACHED              (0x3)      /* combined  attached             */

/*
 * Value constants for VAL_odd_even
 */
#define EVEN                           (0x0)      /* even number of identity digits and also when the TMSI or P-TMSI is used */
#define ODD                            (0x1)      /* odd number of identity digits  */

/*
 * Value constants for VAL_cause_value
 */
#define VAL_CAUSE_VALUE___DEF          (0x0)      /* Protocol error, unspecified    */
#define ERRCS_IMSI_UNKNOWN             (0x2)      /* IMSI unknown in HLR            */
#define ERRCS_ILLEGAL_MS               (0x3)      /* Illegal MS                     */
#define ERRCS_IMEI_NOT_ACCEPTED        (0x4)      /* IMEI not accepted              */
#define ERRCS_ILLEGAL_ME               (0x6)      /* Illegal ME                     */
#define ERRCS_GPRS_NOT_ALLOWED         (0x7)      /* GPRS services not allowed      */
#define ERRCS_GSM_GPRS_NOT_ALLOWED     (0x8)      /* GPRS services and non-GPRS services not allowed */
#define ERRCS_NO_MS_ID                 (0x9)      /* MS identity cannot be derived by the network */
#define ERRCS_IMPLICIT_DETACHED        (0xa)      /* Implicitly detached            */
#define ERRCS_PLMN_NOT_ALLOWED         (0xb)      /* PLMN not allowed               */
#define ERRCS_LA_NOT_ALLOWED           (0xc)      /* Location Area not allowed      */
#define ERRCS_ROAMING_NOT_ALLOWED      (0xd)      /* Roaming not allowed in this location area */
#define ERRCS_GPRS_NOT_ALLOWED_IN_PLMN (0xe)      /* GPRS services not allowed in this PLMN */
// VAL-FF: REL99  
// #define ERRCS_NO_SUITABLE_CELL_IN_LA   (0xf)   /* Find another allowed location area in the same PLMN */
#define ERRCS_MSC_TEMP_NOT_REACHABLE   (0x10)     /* MSC temporarily not reachable  */
#define ERRCS_NET_FAIL                 (0x11)     /* Network failure                */
#define ERRCS_CONGESTION               (0x16)     /* Congestion                     */
#define ERRCS_SEMANTIC_INCORRECT       (0x5f)     /* Semantically incorrect message */
#define ERRCS_INVALID_M_INFO           (0x60)     /* Invalid mandatory information  */
#define ERRCS_TYPE_INVALID             (0x61)     /* Message type non-existent or not implemented */
#define ERRCS_TYPE_INCOMPATIBLE        (0x62)     /* Message type not compatible with the protocol state */
#define ERRCS_IE_INVALID               (0x63)     /* Information element non-existent or not implemented */
#define ERRCS_COND_IE_ERROR            (0x64)     /* Conditional IE error           */
#define ERRCS_MESSAGE_INVALID          (0x65)     /* Message not compatible with the protocol state */
#define ERRCS_PROTOCOL_ERROR           (0x6f)     /* Protocol error, unspecified    */

/*
 * Value constants for VAL_gea_1
 */
#define GEA_1_NO                       (0x0)      /* GEA/1 not available            */
#define GEA_1_YES                      (0x1)      /* GEA/1 available                */

/*
 * Value constants for VAL_sm_capabilities_gsm
 */
#define SM_CAP_GSM_NO                  (0x0)      /* SM capability not present      */
#define SM_CAP_GSM_YES                 (0x1)      /* SM capability present          */

/*
 * Value constants for VAL_sm_capabilities_gprs
 */
#define SM_CAP_GPRS_NO                 (0x0)      /* SM capability not present      */
#define SM_CAP_GPRS_YES                (0x1)      /* SM capability present          */

/*
 * Value constants for VAL_ucs2_support
 */
#define UCS2_YES                       (0x0)      /* preference for the default alphabet over UCS2 */
#define UCS2_NO                        (0x1)      /* no preference for the default alphabet over UCS2 */

/*
 * Value constants for VAL_type_of_identity
 */
#define VAL_TYPE_OF_IDENTITY___DEF     (0x0)      /* reserved                       */
#define ID_TYPE_NO_IDENT               (0x0)      /* No Identity                    */
#define ID_TYPE_IMSI                   (0x1)      /* IMSI                           */
#define ID_TYPE_IMEI                   (0x2)      /* IMEI                           */
#define ID_TYPE_IMEISV                 (0x3)      /* IMEISV                         */
#define ID_TYPE_TMSI                   (0x4)      /* TMSI/P-TMSI                    */

/*
 * Value constants for VAL_type_of_identity_2
 */
#define VAL_TYPE_OF_IDENTITY_2___DEF   (0x0)      /* IMSI                           */
#define ID2_TYPE_IMSI                  (0x1)      /* IMSI                           */
#define ID2_TYPE_IMEI                  (0x2)      /* IMEI                           */
#define ID2_TYPE_IMEISV                (0x3)      /* IMEISV                         */
#define ID2_TYPE_TMSI                  (0x4)      /* TMSI                           */

/*
 * Value constants for VAL_type_of_attach
 */
#define VAL_TYPE_OF_ATTACH___DEF       (0x0)      /* GPRS attach                    */
#define AT_GPRS                        (0x1)      /* GPRS attach                    */
#define AT_WHILE_IMSI_AT               (0x2)      /* GPRS attach while IMSI attached */
#define AT_COMB                        (0x3)      /* Combined GPRS/IMSI attach      */

/*
 * Value constants for VAL_u_type_of_detach
 */
#define VAL_U_TYPE_OF_DETACH___DEF     (0x0)      /* Combined GPRS/IMSI detach      */
#define DT_GPRS                        (0x1)      /* GPRS detach                    */
#define DT_IMSI                        (0x2)      /* IMSI detach                    */
#define DT_COMB                        (0x3)      /* Combined GPRS/IMSI detach      */

/*
 * Value constants for VAL_d_type_of_detach
 */
#define VAL_D_TYPE_OF_DETACH___DEF     (0x0)      /* re-attach not required         */
#define DT_RE_ATTACH                   (0x1)      /* re-attch required              */
#define DT_NO_RE_ATTACH                (0x2)      /* re-attach not required         */
#define DT_IMSI_DETACH                 (0x3)      /* IMSI detach (after VLR failure) */

/*
 * Value constants for VAL_split_pg_cycle_code
 */
#define VAL_SPLIT_PG_CYCLE_CODE___DEF  (0x0)      /* reserved                       */
#define DRX_NOT_USED                   (0x0)      /* no DRX used by MS              */

/*
 * Value constants for VAL_split_on_ccch
 */
#define SPLIT_NO                       (0x0)      /* Spit on CCCH is not supported by the MS */
#define SPLIT_YES                      (0x1)      /* Spit on CCCH is supported by the MS */

/*
 * Value constants for VAL_non_drx_timer
 */
#define DRX_NO                         (0x0)      /* no non-DRX mode after transfer state */
#define DRX_1_SEC                      (0x1)      /* max. 1 sec non-DRX mode after transfer */
#define DRX_2_SEC                      (0x2)      /* max. 2 sec non-DRX mode after transfer */
#define DRX_4_SEC                      (0x3)      /* max. 4 sec non-DRX mode after transfer */
#define DRX_8_SEC                      (0x4)      /* max. 8 sec non-DRX mode after transfer */
#define DRX_16_SEC                     (0x5)      /* max. 16 sec non-DRX mode after transfer */
#define DRX_32_SEC                     (0x6)      /* max. 32 sec non-DRX mode after transfer */
#define DRX_64_SEC                     (0x7)      /* max. 64 sec non-DRX mode after transfer */

/*
 * Value constants for VAL_timer_unit
 */
#define VAL_TIMER_UNIT___DEF           (0x0)      /* value is incremented in multiples of 1 min */
#define TIMER_2_SEC                    (0x0)      /* value is incremented in multiples of 2 sec */
#define TIMER_1_MIN                    (0x1)      /* value is incremented in multiples of 1 min */
#define TIMER_1_DH                     (0x2)      /* value is incremented in multiples of 1 dh */
#define TIMER_DEACT                    (0x7)      /* timer is deactivated           */

/*
 * Value constants for VAL_force_to_standby_value
 */
#define VAL_FORCE_TO_STANDBY_VALUE___DEF (0x0)    /* reserved                       */
#define STANDBY_NO                     (0x0)      /* Force to standby not indicated */
#define STANDBY_YES                    (0x1)      /* Force to standby indicated     */

/*
 * Value constants for VAL_radio_priority_level_value
 */
#define VAL_RADIO_PRIORITY_LEVEL_VALUE___DEF (0x0)/* priority level 4               */
#define RP_LEVEL_1                     (0x1)      /* priority level 1               */
#define RP_LEVEL_2                     (0x2)      /* priority level 2??????????     */
#define RP_LEVEL_3                     (0x3)      /* priority level 3               */
#define RP_LEVEL_4                     (0x4)      /* priority level 4               */

/*
 * Value constants for VAL_power_off
 */
#define PO_NORMAL_DETACH               (0x0)      /* normal detach                  */
#define PO_POWER_OFF                   (0x1)      /* power switched off             */

/*
 * Value constants for VAL_code
 */
#define VAL_CODE___DEF                 (0x0)      /* reserved                       */
#define SMS                            (0x0)      /* SMS Cell Broadcst coding scheme defined in GSM 03.38 */
#define USC2                           (0x1)      /* UCS2 (16 bit)                  */

/*
 * Value constants for VAL_add_ci
 */
#define CI_NO                          (0x0)      /* The MS shoule not add the letters for the Country's Initials to the text string */
#define CI_ADD                         (0x1)      /* The MS should add the letters for the Country's Initials and a separator */

/*
 * Value constants for VAL_nr_sparebits
 */
#define VAL_NR_SPAREBITS___DEF         (0x0)      /* bit 'value' to 8 (inclusive) are spare and set to '0' in octet n */
#define SP_NULL                        (0x0)      /* this field carries no information about the number of spare bits in octet n */

/*
 * Value constants for VAL_nsapi
 */
#define VAL_NSAPI___DEF                (0x0)      /* reserved                       */
#define NSAPI_5                        (0x5)      /* NSAPI 5                        */
#define NSAPI_6                        (0x6)      /* NSAPI 6                        */
#define NSAPI_7                        (0x7)      /* NSAPI 7                        */
#define NSAPI_8                        (0x8)      /* NSAPI 8                        */
#define NSAPI_9                        (0x9)      /* NSAPI 9                        */
#define NSAPI_10                       (0xa)      /* NSAPI 10                       */
#define NSAPI_11                       (0xb)      /* NSAPI 11                       */
#define NSAPI_12                       (0xc)      /* NSAPI 12                       */
#define NSAPI_13                       (0xd)      /* NSAPI 13                       */
#define NSAPI_14                       (0xe)      /* NSAPI 14                       */
#define NSAPI_15                       (0xf)      /* NSAPI 15                       */

/*
 * Value constants for VAL_rev_level_ind
 */
#define REV_LEVEL_IND_99_NO            (0x0)      /* MS supports version(s) older than Release 1999 */
#define REV_LEVEL_IND_99_YES           (0x1)      /* MS supports Release 1999       */

// VALTAB-FF: REL99 
// 
// Value constants for VAL_save_time_value
// 
// VAL-FF: REL99  
// #define TIME_ADJ_NO                    (0x0)   /* No adjustment for Daylight Saving Time */
// VAL-FF: REL99  
// #define TIME_ADJ_1                     (0x1)   /* +1 hour adjustment for Daylight Saving Time */
// VAL-FF: REL99  
// #define TIME_ADJ_2                     (0x2)   /* +2 hours adjustment for Daylight Saving Time */

/*
 * user defined constants
 */
#define L3MAX                          (0xfb)     
#define MAX_N_PDU_NUMBER_LIST          (0xb)      

#include "CDG_LEAVE.h"


#endif