FreeCalypso > hg > fc-magnetite
view cdg3/cdginc-conservative/m_sm.val @ 516:1ed9de6c90bd
src/g23m-gsm/sms/sms_for.c: bogus malloc removed
The new error handling code that was not present in TCS211 blob version
contains a malloc call that is bogus for 3 reasons:
1) The memory allocation in question is not needed in the first place;
2) libc malloc is used instead of one of the firmware's proper ways;
3) The memory allocation is made inside a function and then never freed,
i.e., a memory leak.
This bug was caught in gcc-built FreeCalypso fw projects (Citrine
and Selenite) because our gcc environment does not allow any use of
libc malloc (any reference to malloc produces a link failure),
but this code from TCS3.2 is wrong even for Magnetite: if this code
path is executed repeatedly over a long time, the many small allocations
made by this malloc call without a subsequent free will eventually
exhaust the malloc heap provided by the TMS470 environment, malloc will
start returning NULL, and the bogus code will treat it as an error.
Because the memory allocation in question is not needed at all,
the fix entails simply removing it.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 22 Jul 2018 06:04:49 +0000 |
parents | c15047b3d00d |
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 Thu Sep 25 09:52:55 2014 | | !!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