view cdg-hybrid/cdginc/m_sm.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_sm.val                                                       |
| SOURCE  : "msg\sm.mdf"                                                   |
| LastModified : "2003-08-28"                                              |
| IdAndVersion : "8010.605.03.005"                                         |
| SrcFileTime  : "Wed Nov 28 10:21:12 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                 : M_SM
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: YES
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 * CCDNAME: SM
 */


#ifndef M_SM_VAL
#define M_SM_VAL


#define CDG_ENTER__M_SM_VAL

#define CDG_ENTER__FILENAME _M_SM_VAL
#define CDG_ENTER__M_SM_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__M_SM_VAL__LAST_MODIFIED _2003_08_28
#define CDG_ENTER__M_SM_VAL__ID_AND_VERSION _8010_605_03_005

#define CDG_ENTER__M_SM_VAL__SRC_FILE_TIME _Wed_Nov_28_10_21_12_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__M_SM_VAL

#undef CDG_ENTER__FILENAME


/*
 * Enum to value table VAL_nsapi_val
 * CCDGEN:WriteEnum_Count==1
 */
#ifndef __T_M_SM_VAL_nsapi_val__
#define __T_M_SM_VAL_nsapi_val__
typedef enum
{
  M_SM_VAL_NSAPI_VAL___DEF       = 0x0,           /* reserved                       */
  M_SM_NSAPI_5                   = 0x5,           /* NSAPI 5                        */
  M_SM_NSAPI_6                   = 0x6,           /* NSAPI 6                        */
  M_SM_NSAPI_7                   = 0x7,           /* NSAPI 7                        */
  M_SM_NSAPI_8                   = 0x8,           /* NSAPI 8                        */
  M_SM_NSAPI_9                   = 0x9,           /* NSAPI 9                        */
  M_SM_NSAPI_10                  = 0xa,           /* NSAPI 10                       */
  M_SM_NSAPI_11                  = 0xb,           /* NSAPI 11                       */
  M_SM_NSAPI_12                  = 0xc,           /* NSAPI 12                       */
  M_SM_NSAPI_13                  = 0xd,           /* NSAPI 13                       */
  M_SM_NSAPI_14                  = 0xe,           /* NSAPI 14                       */
  M_SM_NSAPI_15                  = 0xf            /* NSAPI 15                       */
}T_M_SM_VAL_nsapi_val;
#endif

/*
 * Enum to value table VAL_delay
 * CCDGEN:WriteEnum_Count==2
 */
#ifndef __T_M_SM_VAL_delay__
#define __T_M_SM_VAL_delay__
typedef enum
{
  M_SM_VAL_DELAY___DEF           = 0x0,           /* Delay class 4 (best effort)    */
  M_SM_DELAY_SUB                 = 0x0,           /* Subscribed delay class (uplink only) */
  M_SM_DELAY_RES_DL              = 0x0,           /* Reserved (downlink only)       */
  M_SM_DELAY_1                   = 0x1,           /* Delay class 1                  */
  M_SM_DELAY_2                   = 0x2,           /* Delay class 2                  */
  M_SM_DELAY_3                   = 0x3,           /* Delay class 3                  */
  M_SM_DELAY_4                   = 0x4,           /* Delay class 4 (best effort)    */
  M_SM_DELAY_RES                 = 0x7            /* Reserved                       */
}T_M_SM_VAL_delay;
#endif

/*
 * Enum to value table VAL_reliability
 * CCDGEN:WriteEnum_Count==3
 */
#ifndef __T_M_SM_VAL_reliability__
#define __T_M_SM_VAL_reliability__
typedef enum
{
  M_SM_VAL_RELIABILITY___DEF     = 0x0,           /* Unacknowledged GTP and LLC; Acknowledged RLC, Protected data */
  M_SM_RELY_SUB                  = 0x0,           /* Subscribed reliability class (uplink only) */
  M_SM_RELY_RES_DL               = 0x0,           /* Reserved (dowwnlink only)      */
  M_SM_RELY_1                    = 0x1,           /* Acknowledged GTP, LLC, and RLC; Protected data */
  M_SM_RELY_2                    = 0x2,           /* Unacknowledged GTP; Acknowledged LLC and RLC, Protected data */
  M_SM_RELY_3                    = 0x3,           /* Unacknowledged GTP and LLC; Acknowledged RLC, Protected data */
  M_SM_RELY_4                    = 0x4,           /* Unacknowledged GTP, LLC, and RLC, Protected data */
  M_SM_RELY_5                    = 0x5,           /* Unacknowledged GTP, LLC, and RLC, Unprotected data */
  M_SM_RELY_RES                  = 0x7            /* Reserved                       */
}T_M_SM_VAL_reliability;
#endif

/*
 * Enum to value table VAL_sapi
 * CCDGEN:WriteEnum_Count==4
 */
#ifndef __T_M_SM_VAL_sapi__
#define __T_M_SM_VAL_sapi__
typedef enum
{
  M_SM_VAL_SAPI___DEF            = 0x0,           /* reserved                       */
  M_SM_SAPI_NONE                 = 0x0,           /* No SAPI assigned               */
  M_SM_SAPI_3                    = 0x3,           /* SAPI 3                         */
  M_SM_SAPI_5                    = 0x5,           /* SAPI 5                         */
  M_SM_SAPI_9                    = 0x9,           /* SAPI 9                         */
  M_SM_SAPI_11                   = 0xb            /* SAPI 11                        */
}T_M_SM_VAL_sapi;
#endif

/*
 * Enum to value table VAL_peak
 * CCDGEN:WriteEnum_Count==5
 */
#ifndef __T_M_SM_VAL_peak__
#define __T_M_SM_VAL_peak__
typedef enum
{
  M_SM_VAL_PEAK___DEF            = 0x0,           /* Up to 1000 octet/s             */
  M_SM_PEAK_SUB                  = 0x0,           /* Subscribed peak throughput (uplink only) */
  M_SM_PEAK_RES_DL               = 0x0,           /* reserved (downlink only)       */
  M_SM_PEAK_1000                 = 0x1,           /* Up to 1000 octet/s             */
  M_SM_PEAK_2000                 = 0x2,           /* Up to 2000 octet/s             */
  M_SM_PEAK_4000                 = 0x3,           /* Up to 4000 octet/s             */
  M_SM_PEAK_8000                 = 0x4,           /* Up to 8000 octet/s             */
  M_SM_PEAK_16000                = 0x5,           /* Up to 16000 octet/s            */
  M_SM_PEAK_32000                = 0x6,           /* Up to 32000 octet/s            */
  M_SM_PEAK_64000                = 0x7,           /* Up to 64000 octet/s            */
  M_SM_PEAK_128000               = 0x8,           /* Up to 128000 octet/s           */
  M_SM_PEAK_256000               = 0x9,           /* Up to 256000 octet/s           */
  M_SM_PEAK_RES                  = 0xf            /* Reserved                       */
}T_M_SM_VAL_peak;
#endif

/*
 * Enum to value table VAL_precedence
 * CCDGEN:WriteEnum_Count==6
 */
#ifndef __T_M_SM_VAL_precedence__
#define __T_M_SM_VAL_precedence__
typedef enum
{
  M_SM_VAL_PRECEDENCE___DEF      = 0x0,           /* Normal Priority                */
  M_SM_PRECED_SUB                = 0x0,           /* Subscribed precedence (uplink only) */
  M_SM_PRECED_RES_DL             = 0x0,           /* Reserved (downlink only)       */
  M_SM_PRECED_HIGH               = 0x1,           /* High priority                  */
  M_SM_PRECED_NORM               = 0x2,           /* Normal Priority                */
  M_SM_PRECED_LOW                = 0x3,           /* Low priority                   */
  M_SM_PRECED_RES                = 0x7            /* Reserved                       */
}T_M_SM_VAL_precedence;
#endif

/*
 * Enum to value table VAL_mean
 * CCDGEN:WriteEnum_Count==7
 */
#ifndef __T_M_SM_VAL_mean__
#define __T_M_SM_VAL_mean__
typedef enum
{
  M_SM_VAL_MEAN___DEF            = 0x0,           /* Best effort                    */
  M_SM_MEAN_SUB                  = 0x0,           /* Subscribed mean throughput (uplink only) */
  M_SM_MEAN_RES_DL               = 0x0,           /* reserved (downlink only)       */
  M_SM_MEAN_100                  = 0x1,           /* 100 octet/h                    */
  M_SM_MEAN_200                  = 0x2,           /* 200 octet/h                    */
  M_SM_MEAN_500                  = 0x3,           /* 500 octet/h                    */
  M_SM_MEAN_1000                 = 0x4,           /* 1000 octet/h                   */
  M_SM_MEAN_2000                 = 0x5,           /* 2000 octet/h                   */
  M_SM_MEAN_5000                 = 0x6,           /* 5000 octet/h                   */
  M_SM_MEAN_10000                = 0x7,           /* 10000 octet/h                  */
  M_SM_MEAN_20000                = 0x8,           /* 20000 octet/h                  */
  M_SM_MEAN_50000                = 0x9,           /* 50000 octet/h                  */
  M_SM_MEAN_100000               = 0xa,           /* 100000 octet/h                 */
  M_SM_MEAN_200000               = 0xb,           /* 200000 octet/h                 */
  M_SM_MEAN_500000               = 0xc,           /* 500000 octet/h                 */
  M_SM_MEAN_1000000              = 0xd,           /* 1000000 octet/h                */
  M_SM_MEAN_2000000              = 0xe,           /* 2000000 octet/h                */
  M_SM_MEAN_5000000              = 0xf,           /* 5000000 octet/h                */
  M_SM_MEAN_10000000             = 0x10,          /* 10000000 octet/h               */
  M_SM_MEAN_20000000             = 0x11,          /* 20000000 octet/h               */
  M_SM_MEAN_50000000             = 0x12,          /* 50000000 octet/h               */
  M_SM_MEAN_RES                  = 0x1e,          /* Reserved                       */
  M_SM_MEAN_BEST                 = 0x1f           /* Best effort                    */
}T_M_SM_VAL_mean;
#endif

/*
 * Enum to value table VAL_tc
 * CCDGEN:WriteEnum_Count==8
 */
#ifndef __T_M_SM_VAL_tc__
#define __T_M_SM_VAL_tc__
typedef enum
{
  M_SM_QOS_TC_SUB                = 0x0,           /* Subscribed traffic class (uplink only) */
  M_SM_QOS_TC_RES_DL             = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_TC_CONV               = 0x1,           /* Conversational class           */
  M_SM_QOS_TC_STREAM             = 0x2,           /* Streaming class                */
  M_SM_QOS_TC_INTER              = 0x3,           /* Interactive class              */
  M_SM_QOS_TC_BG                 = 0x4,           /* Background class               */
  M_SM_QOS_TC_RES                = 0x7            /* Reserved                       */
}T_M_SM_VAL_tc;
#endif

/*
 * Enum to value table VAL_order
 * CCDGEN:WriteEnum_Count==9
 */
#ifndef __T_M_SM_VAL_order__
#define __T_M_SM_VAL_order__
typedef enum
{
  M_SM_QOS_ORDER_SUB             = 0x0,           /* Subscribed delivery order (uplink only) */
  M_SM_QOS_ORDER_RES_DL          = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_ORDER_YES             = 0x1,           /* With delivery order ('yes')    */
  M_SM_QOS_ORDER_NO              = 0x2,           /* Without delivery order ('no')  */
  M_SM_QOS_ORDER_RES             = 0x3            /* Reserved                       */
}T_M_SM_VAL_order;
#endif

/*
 * Enum to value table VAL_del_err_sdu
 * CCDGEN:WriteEnum_Count==10
 */
#ifndef __T_M_SM_VAL_del_err_sdu__
#define __T_M_SM_VAL_del_err_sdu__
typedef enum
{
  M_SM_QOS_DEL_ERR_SUB           = 0x0,           /* Subscribed delivery order (uplink only) */
  M_SM_QOS_DEL_ERR_RES_DL        = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_DEL_ERR_NODETECT      = 0x1,           /* No detect ('-')                */
  M_SM_QOS_DEL_ERR_YES           = 0x2,           /* Erroneous SDUs are delivered ('yes') */
  M_SM_QOS_DEL_ERR_NO            = 0x3,           /* Erroneous SDUs are not delivered ('no') */
  M_SM_QOS_DEL_ERR_RES           = 0x7            /* Reserved                       */
}T_M_SM_VAL_del_err_sdu;
#endif

/*
 * Enum to value table VAL_max_sdu
 * CCDGEN:WriteEnum_Count==11
 */
#ifndef __T_M_SM_VAL_max_sdu__
#define __T_M_SM_VAL_max_sdu__
typedef enum
{
  M_SM_QOS_MAX_SDU_SUB           = 0x0,           /* Subscribed maximum SDU size    */
  M_SM_QOS_MAX_SDU_RES_DL        = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_MAX_SDU_1502          = 0x97,          /* Maximum SDU size 1502 octets   */
  M_SM_QOS_MAX_SDU_1510          = 0x98,          /* Maximum SDU size 1510 octets   */
  M_SM_QOS_MAX_SDU_1520          = 0x99,          /* Maximum SDU size 1520 octets   */
  M_SM_QOS_MAX_SDU_RES           = 0xff           /* Reserved                       */
}T_M_SM_VAL_max_sdu;
#endif

/*
 * Enum to value table VAL_max_br_ul
 * CCDGEN:WriteEnum_Count==12
 */
#ifndef __T_M_SM_VAL_max_br_ul__
#define __T_M_SM_VAL_max_br_ul__
typedef enum
{
  M_SM_QOS_MAX_BR_UL_SUB         = 0x0,           /* Subscribed maximum uplink data rate (uplink only) */
  M_SM_QOS_MAX_BR_UL_RES_DL      = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_MAX_BR_UL_0           = 0xff           /* 0 kbps uplink data rate        */
}T_M_SM_VAL_max_br_ul;
#endif

/*
 * Enum to value table VAL_max_br_dl
 * CCDGEN:WriteEnum_Count==13
 */
#ifndef __T_M_SM_VAL_max_br_dl__
#define __T_M_SM_VAL_max_br_dl__
typedef enum
{
  M_SM_QOS_MAX_BR_DL_SUB         = 0x0,           /* Subscribed maximum downlink data rate (uplink only) */
  M_SM_QOS_MAX_BR_DL_RES_DL      = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_MAX_BR_DL_0           = 0xff           /* 0 kbps downlink data rate      */
}T_M_SM_VAL_max_br_dl;
#endif

/*
 * Enum to value table VAL_ber
 * CCDGEN:WriteEnum_Count==14
 */
#ifndef __T_M_SM_VAL_ber__
#define __T_M_SM_VAL_ber__
typedef enum
{
  M_SM_QOS_BER_SUB               = 0x0,           /* Subscribed residual BER (uplink only) */
  M_SM_QOS_BER_RES_DL            = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_BER_5E_2              = 0x1,           /* 5*10-2                         */
  M_SM_QOS_BER_1E_2              = 0x2,           /* 1*10-2                         */
  M_SM_QOS_BER_5E_3              = 0x3,           /* 5*10-3                         */
  M_SM_QOS_BER_4E_3              = 0x4,           /* 4*10-3                         */
  M_SM_QOS_BER_1E_3              = 0x5,           /* 1*10-3                         */
  M_SM_QOS_BER_1E_4              = 0x6,           /* 1*10-4                         */
  M_SM_QOS_BER_1E_5              = 0x7,           /* 1*10-5                         */
  M_SM_QOS_BER_1E_6              = 0x8,           /* 1*10-6                         */
  M_SM_QOS_BER_6E_8              = 0x9,           /* 6*10-8                         */
  M_SM_QOS_BER_RES               = 0xf            /* Reserved                       */
}T_M_SM_VAL_ber;
#endif

/*
 * Enum to value table VAL_sdu_err_ratio
 * CCDGEN:WriteEnum_Count==15
 */
#ifndef __T_M_SM_VAL_sdu_err_ratio__
#define __T_M_SM_VAL_sdu_err_ratio__
typedef enum
{
  M_SM_QOS_SDU_ERR_SUB           = 0x0,           /* Subscribed SDU error ratio     */
  M_SM_QOS_SDU_ERR_RES_DL        = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_SDU_ERR_1E_2          = 0x1,           /* 1*10-2                         */
  M_SM_QOS_SDU_ERR_7E_3          = 0x2,           /* 7*10-3                         */
  M_SM_QOS_SDU_ERR_1E_3          = 0x3,           /* 1*10-3                         */
  M_SM_QOS_SDU_ERR_1E_4          = 0x4,           /* 1*10-4                         */
  M_SM_QOS_SDU_ERR_1E_5          = 0x5,           /* 1*10-5                         */
  M_SM_QOS_SDU_ERR_1E_6          = 0x6,           /* 1*10-6                         */
  M_SM_QOS_SDU_ERR_1E_1          = 0x7,           /* 1*10-1                         */
  M_SM_QOS_SDU_ERR_RES           = 0xf            /* Reserved                       */
}T_M_SM_VAL_sdu_err_ratio;
#endif

/*
 * Enum to value table VAL_xfer_delay
 * CCDGEN:WriteEnum_Count==16
 */
#ifndef __T_M_SM_VAL_xfer_delay__
#define __T_M_SM_VAL_xfer_delay__
typedef enum
{
  M_SM_QOS_XFER_DELAY_SUB        = 0x0,           /* Subscribed transfer delay (uplink only) */
  M_SM_QOS_XFER_DELAY_RES_DL     = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_XFER_DELAY_RES        = 0x3f           /* Reserved                       */
}T_M_SM_VAL_xfer_delay;
#endif

/*
 * Enum to value table VAL_handling_pri
 * CCDGEN:WriteEnum_Count==17
 */
#ifndef __T_M_SM_VAL_handling_pri__
#define __T_M_SM_VAL_handling_pri__
typedef enum
{
  M_SM_QOS_HANDLING_PRI_SUB      = 0x0,           /* Subscribed traffic handling priority (uplink only) */
  M_SM_QOS_HANDLING_PRI_RES_DL   = 0x0,           /* Reserved (downlink only)       */
  M_SM_QOS_HANDLING_PRI_1        = 0x1,           /* Priority level 1               */
  M_SM_QOS_HANDLING_PRI_2        = 0x2,           /* Priority level 2               */
  M_SM_QOS_HANDLING_PRI_3        = 0x3            /* Priority level 3               */
}T_M_SM_VAL_handling_pri;
#endif

/*
 * Enum to value table VAL_guar_br_ul
 * CCDGEN:WriteEnum_Count==18
 */
#ifndef __T_M_SM_VAL_guar_br_ul__
#define __T_M_SM_VAL_guar_br_ul__
typedef enum
{
  M_SM_QOS_GUAR_BR_UL_SUB        = 0x0,           /* Subscribed guaranteed uplink data rate (uplink only) */
  M_SM_QOS_GUAR_BR_UL_RES_DL     = 0x0            /* Reserved (downlink only)       */
}T_M_SM_VAL_guar_br_ul;
#endif

/*
 * Enum to value table VAL_guar_br_dl
 * CCDGEN:WriteEnum_Count==19
 */
#ifndef __T_M_SM_VAL_guar_br_dl__
#define __T_M_SM_VAL_guar_br_dl__
typedef enum
{
  M_SM_QOS_GUAR_BR_DL_SUB        = 0x0,           /* Subscribed guaranteed downlink data rate (uplink only) */
  M_SM_QOS_GUAR_BR_DL_RES_DL     = 0x0            /* Reserved (downlink only)       */
}T_M_SM_VAL_guar_br_dl;
#endif

/*
 * Enum to value table VAL_pfi_val
 * CCDGEN:WriteEnum_Count==20
 */
#ifndef __T_M_SM_VAL_pfi_val__
#define __T_M_SM_VAL_pfi_val__
typedef enum
{
  M_SM_PFI_BEST_EFFORT           = 0x0,           /* Best effort                    */
  M_SM_PFI_SIGNALLING            = 0x1,           /* Signalling                     */
  M_SM_PFI_SMS                   = 0x2            /* SMS                            */
}T_M_SM_VAL_pfi_val;
#endif

/*
 * Enum to value table VAL_pdp_type_org
 * CCDGEN:WriteEnum_Count==21
 */
#ifndef __T_M_SM_VAL_pdp_type_org__
#define __T_M_SM_VAL_pdp_type_org__
typedef enum
{
  M_SM_VAL_PDP_TYPE_ORG___DEF    = 0x0,           /* ETSI allocated address (PPP)   */
  M_SM_ETSI_ORG                  = 0x0,           /* ETSI allocated address (PPP)   */
  M_SM_IETF_ORG                  = 0x1,           /* IETF allocated address         */
  M_SM_PDP_MT                    = 0xf            /* Dynamic PDP addressing is applied, (uplink only) */
}T_M_SM_VAL_pdp_type_org;
#endif

/*
 * Enum to value table VAL_pdp_type_no
 * CCDGEN:WriteEnum_Count==22
 */
#ifndef __T_M_SM_VAL_pdp_type_no__
#define __T_M_SM_VAL_pdp_type_no__
typedef enum
{
  M_SM_VAL_PDP_TYPE_NO___DEF     = 0x0,           /* IPv4 address                   */
  M_SM_PPP_TYPE                  = 0x1,           /* PDP type PPP                   */
  M_SM_IP4_TYPE                  = 0x21,          /* IPv4 address                   */
  M_SM_IP6_TYPE                  = 0x57           /* IPv6 address                   */
}T_M_SM_VAL_pdp_type_no;
#endif

/*
 * Enum to value table VAL_radio_prio_val
 * CCDGEN:WriteEnum_Count==23
 */
#ifndef __T_M_SM_VAL_radio_prio_val__
#define __T_M_SM_VAL_radio_prio_val__
typedef enum
{
  M_SM_VAL_RADIO_PRIO_VAL___DEF  = 0x0,           /* priority level 4 (lowest)      */
  M_SM_RADIO_PRIO_1              = 0x1,           /* priority level 1 (highest)     */
  M_SM_RADIO_PRIO_2              = 0x2,           /* priority level 2               */
  M_SM_RADIO_PRIO_3              = 0x3,           /* priority level 3               */
  M_SM_RADIO_PRIO_4              = 0x4            /* priority level 4 (lowest)      */
}T_M_SM_VAL_radio_prio_val;
#endif

/*
 * Enum to value table VAL_sm_cause_val
 * CCDGEN:WriteEnum_Count==24
 */
#ifndef __T_M_SM_VAL_sm_cause_val__
#define __T_M_SM_VAL_sm_cause_val__
typedef enum
{
  M_SM_VAL_SM_CAUSE_VAL___DEF    = 0x0,           /* Service option temporarily out of order */
  M_SM_CAUSE_LLC_OR_SNDCP_FAILURE = 0x19,         /* LLC or SNDCP failure           */
  M_SM_CAUSE_INSUFFICIENT_RESOURCES = 0x1a,       /* Insufficient resources         */
  M_SM_CAUSE_MISSING_OR_UNKNOWN_APN = 0x1b,       /* Missing or unknown APN         */
  M_SM_CAUSE_UNKNOWN_PDP_ADDR_OR_TYPE = 0x1c,     /* Unknown PDP address or PDP type */
  M_SM_CAUSE_USER_AUTH_FAILED    = 0x1d,          /* User Aauthentication failed    */
  M_SM_CAUSE_ACTIVATE_REJECTED_BY_GGSN = 0x1e,    /* Activation rejected by GGSN    */
  M_SM_CAUSE_ACTIVATE_REJECTED_UNSPEC = 0x1f,     /* Activation rejected, unspecified */
  M_SM_CAUSE_SERVICE_NOT_SUPPORTED = 0x20,        /* Service option not supported   */
  M_SM_CAUSE_SERVICE_NOT_SUBSCRIBED = 0x21,       /* Requested service option not subscribed */
  M_SM_CAUSE_SERVICE_TEMP_OUT_OF_ORDER = 0x22,    /* Service option temporarily out of order */
  M_SM_CAUSE_NSAPI_IN_USE        = 0x23,          /* NSAPI already used             */
  M_SM_CAUSE_REGULAR_DEACTIVATION = 0x24,         /* Regular deactivation           */
  M_SM_CAUSE_QOS_NOT_ACCEPTED    = 0x25,          /* QoS not accepted               */
  M_SM_CAUSE_NETWORK_FAILURE     = 0x26,          /* Network failure                */
  M_SM_CAUSE_REACTIVATION_REQUESTED = 0x27,       /* Reactivation requested         */
  M_SM_CAUSE_FEATURE_NOT_SUPPORTED = 0x28,        /* Feature not supported (context activation) */
  M_SM_CAUSE_SEMANTIC_TFT_ERROR  = 0x29,          /* Semantic error in TFT operation */
  M_SM_CAUSE_SYNTACTIC_TFT_ERROR = 0x2a,          /* Syntactical error in TFT operation */
  M_SM_CAUSE_UNKNOWN_LINKED_TI   = 0x2b,          /* Unknown PDP context (identified by linked TI) */
  M_SM_CAUSE_SEMANTIC_TFT_FILTER_ERROR = 0x2c,    /* Semantic error in packet filter */
  M_SM_CAUSE_SYNTACTIC_TFT_FILTER_ERROR = 0x2d,   /* Syntactical error in packet filter */
  M_SM_CAUSE_CONTEXT_NEEDS_TFT   = 0x2e,          /* PDP context without TFT already activated */
  M_SM_CAUSE_INVALID_TI          = 0x51,          /* Invalid transaction identifier value */
  M_SM_CAUSE_SEMANTIC_ERROR_IN_MSG = 0x5f,        /* Semantically incorrect message */
  M_SM_CAUSE_INVALID_MANDATORY_ELEMENT = 0x60,    /* Invalid mandatory information  */
  M_SM_CAUSE_MSG_TYPE_NOT_IMPL   = 0x61,          /* Message type non-existent or not implemented */
  M_SM_CAUSE_MSG_TYPE_INCOMPATIBLE_WITH_STATE = 0x62, /* Message type not compatible with the protocol state */
  M_SM_CAUSE_IE_NOT_IMPLEMENTED  = 0x63,          /* Information element non-existent or not implemented */
  M_SM_CAUSE_CONDITIONAL_IE_ERROR = 0x64,         /* Conditional IE error           */
  M_SM_CAUSE_MSG_INCOMPATIBLE_WITH_STATE = 0x65,  /* Message not compatible with the protocol state */
  M_SM_CAUSE_PROTOCOL_ERROR_UNSPEC = 0x6f         /* Protocol error, unspecified    */
}T_M_SM_VAL_sm_cause_val;
#endif

/*
 * Enum to value table VAL_tft_opcode
 * CCDGEN:WriteEnum_Count==25
 */
#ifndef __T_M_SM_VAL_tft_opcode__
#define __T_M_SM_VAL_tft_opcode__
typedef enum
{
  M_SM_VAL_TFT_OPCODE___DEF      = 0x0,           /* Reserved                       */
  M_SM_TFT_OPCODE_SPARE          = 0x0,           /* Spare                          */
  M_SM_TFT_OPCODE_CREATE_TFT     = 0x1,           /* Create new TFT                 */
  M_SM_TFT_OPCODE_DELETE_TFT     = 0x2,           /* Delete existing TFT            */
  M_SM_TFT_OPCODE_ADD_FILTERS    = 0x3,           /* Add packet filters to existing TFT */
  M_SM_TFT_OPCODE_REPLACE_FILTERS = 0x4,          /* Replace packet filters in existing TFT */
  M_SM_TFT_OPCODE_DELETE_FILTERS = 0x5            /* Delete packet filters from existing TFT */
}T_M_SM_VAL_tft_opcode;
#endif

/*
 * user defined constants
 */
#define M_SM_SIZE_R97_QOS              (0x3)      
#define M_SM_SIZE_R99_QOS              (0xb)      

#include "CDG_LEAVE.h"


#endif