FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/cdginc/m_sm.h @ 303:f76436d19a7a default tip
!GPRS config: fix long-standing AT+COPS chance hanging bug
There has been a long-standing bug in FreeCalypso going back years:
sometimes in the AT command bring-up sequence of an ACI-only MS,
the AT+COPS command would produce only a power scan followed by
cessation of protocol stack activity (only L1 ADC traces), instead
of the expected network search sequence. This behaviour was seen
in different FC firmware versions going back to Citrine, and seemed
to follow some law of chance, not reliably repeatable.
This bug has been tracked down and found to be specific to !GPRS
configuration, stemming from our TCS2/TCS3 hybrid and reconstruction
of !GPRS support that was bitrotten in TCS3.2/LoCosto version.
ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3
version and had to be pulled from TCS2 - but as it turns out,
there is a new field in the MMR_REG_REQ primitive that needs to be
set correctly, and that psa_mms.c module is the place where this
initialization needed to be added.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 08 Jun 2023 08:23:37 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : m_sm.h | | 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_H #define M_SM_H #define CDG_ENTER__M_SM_H #define CDG_ENTER__FILENAME _M_SM_H #define CDG_ENTER__M_SM_H__FILE_TYPE CDGINC #define CDG_ENTER__M_SM_H__LAST_MODIFIED _2003_08_28 #define CDG_ENTER__M_SM_H__ID_AND_VERSION _8010_605_03_005 #define CDG_ENTER__M_SM_H__SRC_FILE_TIME _Wed_Nov_28_10_21_12_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__M_SM_H #undef CDG_ENTER__FILENAME #include "m_sm.val" /* * bitbuffer structure for the element ipsec_spi_value */ #ifndef __T_M_SM_BUF_ipsec_spi_value__ #define __T_M_SM_BUF_ipsec_spi_value__ typedef struct { U16 l_ipsec_spi_value; U16 o_ipsec_spi_value; U8 b_ipsec_spi_value[8]; } M_SM_BUF_ipsec_spi_value; /* size <12> */ #endif /* * typedef between var and valtab enums */ #ifndef __T_M_SM_nsapi_val__ #define __T_M_SM_nsapi_val__ typedef T_M_SM_VAL_nsapi_val T_M_SM_nsapi_val; #endif #ifndef __T_M_SM_delay__ #define __T_M_SM_delay__ typedef T_M_SM_VAL_delay T_M_SM_delay; #endif #ifndef __T_M_SM_reliability__ #define __T_M_SM_reliability__ typedef T_M_SM_VAL_reliability T_M_SM_reliability; #endif #ifndef __T_M_SM_sapi__ #define __T_M_SM_sapi__ typedef T_M_SM_VAL_sapi T_M_SM_sapi; #endif #ifndef __T_M_SM_peak__ #define __T_M_SM_peak__ typedef T_M_SM_VAL_peak T_M_SM_peak; #endif #ifndef __T_M_SM_precedence__ #define __T_M_SM_precedence__ typedef T_M_SM_VAL_precedence T_M_SM_precedence; #endif #ifndef __T_M_SM_mean__ #define __T_M_SM_mean__ typedef T_M_SM_VAL_mean T_M_SM_mean; #endif #ifndef __T_M_SM_tc__ #define __T_M_SM_tc__ typedef T_M_SM_VAL_tc T_M_SM_tc; #endif #ifndef __T_M_SM_order__ #define __T_M_SM_order__ typedef T_M_SM_VAL_order T_M_SM_order; #endif #ifndef __T_M_SM_del_err_sdu__ #define __T_M_SM_del_err_sdu__ typedef T_M_SM_VAL_del_err_sdu T_M_SM_del_err_sdu; #endif #ifndef __T_M_SM_max_sdu__ #define __T_M_SM_max_sdu__ typedef T_M_SM_VAL_max_sdu T_M_SM_max_sdu; #endif #ifndef __T_M_SM_max_br_ul__ #define __T_M_SM_max_br_ul__ typedef T_M_SM_VAL_max_br_ul T_M_SM_max_br_ul; #endif #ifndef __T_M_SM_max_br_dl__ #define __T_M_SM_max_br_dl__ typedef T_M_SM_VAL_max_br_dl T_M_SM_max_br_dl; #endif #ifndef __T_M_SM_ber__ #define __T_M_SM_ber__ typedef T_M_SM_VAL_ber T_M_SM_ber; #endif #ifndef __T_M_SM_sdu_err_ratio__ #define __T_M_SM_sdu_err_ratio__ typedef T_M_SM_VAL_sdu_err_ratio T_M_SM_sdu_err_ratio; #endif #ifndef __T_M_SM_xfer_delay__ #define __T_M_SM_xfer_delay__ typedef T_M_SM_VAL_xfer_delay T_M_SM_xfer_delay; #endif #ifndef __T_M_SM_handling_pri__ #define __T_M_SM_handling_pri__ typedef T_M_SM_VAL_handling_pri T_M_SM_handling_pri; #endif #ifndef __T_M_SM_guar_br_ul__ #define __T_M_SM_guar_br_ul__ typedef T_M_SM_VAL_guar_br_ul T_M_SM_guar_br_ul; #endif #ifndef __T_M_SM_guar_br_dl__ #define __T_M_SM_guar_br_dl__ typedef T_M_SM_VAL_guar_br_dl T_M_SM_guar_br_dl; #endif #ifndef __T_M_SM_pfi_val__ #define __T_M_SM_pfi_val__ typedef T_M_SM_VAL_pfi_val T_M_SM_pfi_val; #endif #ifndef __T_M_SM_pdp_type_org__ #define __T_M_SM_pdp_type_org__ typedef T_M_SM_VAL_pdp_type_org T_M_SM_pdp_type_org; #endif #ifndef __T_M_SM_pdp_type_no__ #define __T_M_SM_pdp_type_no__ typedef T_M_SM_VAL_pdp_type_no T_M_SM_pdp_type_no; #endif #ifndef __T_M_SM_radio_prio_val__ #define __T_M_SM_radio_prio_val__ typedef T_M_SM_VAL_radio_prio_val T_M_SM_radio_prio_val; #endif #ifndef __T_M_SM_sm_cause_val__ #define __T_M_SM_sm_cause_val__ typedef T_M_SM_VAL_sm_cause_val T_M_SM_sm_cause_val; #endif #ifndef __T_M_SM_tft_opcode__ #define __T_M_SM_tft_opcode__ typedef T_M_SM_VAL_tft_opcode T_M_SM_tft_opcode; #endif #ifndef __T_M_SM_nsapi__ #define __T_M_SM_nsapi__ /* * network service access point identifier * CCDGEN:WriteStruct_Count==1112 */ typedef struct { U8 nsapi_val; /*< 0: 1> T_M_SM_nsapi_val, NSAPI value */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_nsapi; #endif #ifndef __T_M_SM_llc_sapi__ #define __T_M_SM_llc_sapi__ /* * LLC service access point identifier * CCDGEN:WriteStruct_Count==1113 */ typedef struct { U8 sapi; /*< 0: 1> T_M_SM_sapi, SAPI */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_llc_sapi; #endif #ifndef __T_M_SM_qos_r97__ #define __T_M_SM_qos_r97__ /* * quality of service R97 * CCDGEN:WriteStruct_Count==1114 */ typedef struct { U8 delay; /*< 0: 1> T_M_SM_delay, delay class */ U8 reliability; /*< 1: 1> T_M_SM_reliability, reliability class */ U8 peak; /*< 2: 1> T_M_SM_peak, peak throughput */ U8 precedence; /*< 3: 1> T_M_SM_precedence, Precedence class */ U8 mean; /*< 4: 1> T_M_SM_mean, Mean throughput */ U8 _align0; /*< 5: 1> alignment */ U8 _align1; /*< 6: 1> alignment */ U8 _align2; /*< 7: 1> alignment */ } T_M_SM_qos_r97; #endif #ifndef __T_M_SM_qos_r99__ #define __T_M_SM_qos_r99__ /* * quality of service R99 * CCDGEN:WriteStruct_Count==1115 */ typedef struct { U8 tc; /*< 0: 1> T_M_SM_tc, traffic class */ U8 order; /*< 1: 1> T_M_SM_order, delivery order */ U8 del_err_sdu; /*< 2: 1> T_M_SM_del_err_sdu, deliver erroneous SDUs */ U8 max_sdu; /*< 3: 1> T_M_SM_max_sdu, maximum SDU size */ U8 max_br_ul; /*< 4: 1> T_M_SM_max_br_ul, maximum uplink bit-rate */ U8 max_br_dl; /*< 5: 1> T_M_SM_max_br_dl, maximum downlink bit-rate */ U8 ber; /*< 6: 1> T_M_SM_ber, residual BER */ U8 sdu_err_ratio; /*< 7: 1> T_M_SM_sdu_err_ratio, SDU error ratio */ U8 xfer_delay; /*< 8: 1> T_M_SM_xfer_delay, transfer delay */ U8 handling_pri; /*< 9: 1> T_M_SM_handling_pri, Traffic handling priority */ U8 guar_br_ul; /*< 10: 1> T_M_SM_guar_br_ul, guaranteed bit-rate uplink */ U8 guar_br_dl; /*< 11: 1> T_M_SM_guar_br_dl, guaranteed bit-rate downlink */ } T_M_SM_qos_r99; #endif #ifndef __T_M_SM_qos__ #define __T_M_SM_qos__ /* * quality of service * CCDGEN:WriteStruct_Count==1116 */ typedef struct { U8 tlv_len; /*< 0: 1> TLV length information */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_qos_r97 qos_r97; /*< 4: 8> quality of service R97 */ U8 _align3; /*< 12: 1> alignment */ U8 _align4; /*< 13: 1> alignment */ U8 _align5; /*< 14: 1> alignment */ U8 v_qos_r99; /*< 15: 1> valid-flag */ T_M_SM_qos_r99 qos_r99; /*< 16: 12> quality of service R99 */ } T_M_SM_qos; #endif #ifndef __T_M_SM_address__ #define __T_M_SM_address__ /* * packet data protocol address * CCDGEN:WriteStruct_Count==1117 */ typedef struct { U8 pdp_type_org; /*< 0: 1> T_M_SM_pdp_type_org, PDP type organisation */ U8 pdp_type_no; /*< 1: 1> T_M_SM_pdp_type_no, PDP type number */ U8 c_add_info; /*< 2: 1> counter */ U8 add_info[16]; /*< 3: 16> adress information */ U8 _align0; /*< 19: 1> alignment */ } T_M_SM_address; #endif #ifndef __T_M_SM_apn__ #define __T_M_SM_apn__ /* * access point name * CCDGEN:WriteStruct_Count==1118 */ typedef struct { U8 c_apn_value; /*< 0: 1> counter */ U8 apn_value[102]; /*< 1:102> access point name value */ U8 _align0; /*<103: 1> alignment */ } T_M_SM_apn; #endif #ifndef __T_M_SM_pco__ #define __T_M_SM_pco__ /* * protocol information options * CCDGEN:WriteStruct_Count==1119 */ typedef struct { U8 c_pco_value; /*< 0: 1> counter */ U8 pco_value[253]; /*< 1:253> protocol config value */ U8 _align0; /*<254: 1> alignment */ U8 _align1; /*<255: 1> alignment */ } T_M_SM_pco; #endif #ifndef __T_M_SM_radio_prio__ #define __T_M_SM_radio_prio__ /* * radio priority * CCDGEN:WriteStruct_Count==1120 */ typedef struct { U8 radio_prio_val; /*< 0: 1> T_M_SM_radio_prio_val, Radio priority value */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_radio_prio; #endif #ifndef __T_M_SM_linked_ti__ #define __T_M_SM_linked_ti__ /* * linked TI * CCDGEN:WriteStruct_Count==1121 */ typedef struct { U8 ti_flag; /*< 0: 1> TI flag */ U8 ti_val; /*< 1: 1> Extended TI value */ U8 v_ti_ext_flag; /*< 2: 1> valid-flag */ U8 ti_ext_flag; /*< 3: 1> Extended TI flag */ U8 v_ti_ext_val; /*< 4: 1> valid-flag */ U8 ti_ext_val; /*< 5: 1> Extended TI value */ U8 _align0; /*< 6: 1> alignment */ U8 _align1; /*< 7: 1> alignment */ } T_M_SM_linked_ti; #endif #ifndef __T_M_SM_tear_down__ #define __T_M_SM_tear_down__ /* * tear down indicator * CCDGEN:WriteStruct_Count==1122 */ typedef struct { U8 tear_down_flag; /*< 0: 1> tear down flag */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_tear_down; #endif #ifndef __T_M_SM_sm_cause__ #define __T_M_SM_sm_cause__ /* * SM cause * CCDGEN:WriteStruct_Count==1123 */ typedef struct { U8 sm_cause_val; /*< 0: 1> T_M_SM_sm_cause_val, SM cause value */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_sm_cause; #endif #ifndef __T_M_SM_pfi__ #define __T_M_SM_pfi__ /* * packet flow identifier * CCDGEN:WriteStruct_Count==1124 */ typedef struct { U8 pfi_val; /*< 0: 1> T_M_SM_pfi_val, packet flow identifier value */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_pfi; #endif #ifndef __T_M_SM_tft_ipv4_addr_mask__ #define __T_M_SM_tft_ipv4_addr_mask__ /* * IPv4 Source Address and Mask * CCDGEN:WriteStruct_Count==1125 */ typedef struct { U8 src_addr[4]; /*< 0: 4> IP address */ U8 addr_mask[4]; /*< 4: 4> IP address */ } T_M_SM_tft_ipv4_addr_mask; #endif #ifndef __T_M_SM_tft_ipv6_addr_mask__ #define __T_M_SM_tft_ipv6_addr_mask__ /* * IPv6 Source Address and Mask * CCDGEN:WriteStruct_Count==1126 */ typedef struct { U8 src_addr[16]; /*< 0: 16> IP address */ U8 addr_mask[16]; /*< 16: 16> IP address */ } T_M_SM_tft_ipv6_addr_mask; #endif #ifndef __T_M_SM_tft_protocol__ #define __T_M_SM_tft_protocol__ /* * IPv4 Protocol / IPv6 Next Header * CCDGEN:WriteStruct_Count==1127 */ typedef struct { U8 tft_protocol_val; /*< 0: 1> IPv4 protocol/IPv6 next header */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_M_SM_tft_protocol; #endif #ifndef __T_M_SM_tft_dest_port_range__ #define __T_M_SM_tft_dest_port_range__ /* * destination port range * CCDGEN:WriteStruct_Count==1128 */ typedef struct { U16 low_limit; /*< 0: 2> low limit */ U16 high_limit; /*< 2: 2> high limit */ } T_M_SM_tft_dest_port_range; #endif /* * source port range * CCDGEN:WriteStruct_Count==1129 */ #ifndef __T_M_SM_tft_src_port_range__ #define __T_M_SM_tft_src_port_range__ typedef T_M_SM_tft_dest_port_range T_M_SM_tft_src_port_range; #endif #ifndef __T_M_SM_tft_dest_port__ #define __T_M_SM_tft_dest_port__ /* * single destination port * CCDGEN:WriteStruct_Count==1130 */ typedef struct { U16 low_limit; /*< 0: 2> low limit */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_M_SM_tft_dest_port; #endif /* * single source port * CCDGEN:WriteStruct_Count==1131 */ #ifndef __T_M_SM_tft_src_port__ #define __T_M_SM_tft_src_port__ typedef T_M_SM_tft_dest_port T_M_SM_tft_src_port; #endif #ifndef __T_M_SM_tft_ipsec_spi__ #define __T_M_SM_tft_ipsec_spi__ /* * IPSec SPI * CCDGEN:WriteStruct_Count==1132 */ typedef struct { M_SM_BUF_ipsec_spi_value ipsec_spi_value; /*< 0: 12> IPSec SPI value */ } T_M_SM_tft_ipsec_spi; #endif #ifndef __T_M_SM_tft_tos_and_mask__ #define __T_M_SM_tft_tos_and_mask__ /* * Type of service/mask * CCDGEN:WriteStruct_Count==1133 */ typedef struct { U8 tos_value; /*< 0: 1> type of service value */ U8 tos_mask; /*< 1: 1> type of service mask */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_M_SM_tft_tos_and_mask; #endif #ifndef __T_M_SM_tft_flow_label__ #define __T_M_SM_tft_flow_label__ /* * flow label * CCDGEN:WriteStruct_Count==1134 */ typedef struct { U32 flow_label_value; /*< 0: 4> IPv6 flow label */ } T_M_SM_tft_flow_label; #endif #ifndef __T_M_SM_tft_filter_entry__ #define __T_M_SM_tft_filter_entry__ /* * traffic flow template * CCDGEN:WriteStruct_Count==1135 */ typedef struct { U8 _align0; /*< 0: 1> alignment */ U8 _align1; /*< 1: 1> alignment */ U8 _align2; /*< 2: 1> alignment */ U8 v_tft_ipv4_addr_mask; /*< 3: 1> valid-flag */ T_M_SM_tft_ipv4_addr_mask tft_ipv4_addr_mask; /*< 4: 8> IPv4 Source Address and Mask */ U8 _align3; /*< 12: 1> alignment */ U8 _align4; /*< 13: 1> alignment */ U8 _align5; /*< 14: 1> alignment */ U8 v_tft_ipv6_addr_mask; /*< 15: 1> valid-flag */ T_M_SM_tft_ipv6_addr_mask tft_ipv6_addr_mask; /*< 16: 32> IPv6 Source Address and Mask */ U8 _align6; /*< 48: 1> alignment */ U8 _align7; /*< 49: 1> alignment */ U8 _align8; /*< 50: 1> alignment */ U8 v_tft_protocol; /*< 51: 1> valid-flag */ T_M_SM_tft_protocol tft_protocol; /*< 52: 4> IPv4 Protocol / IPv6 Next Header */ U8 _align9; /*< 56: 1> alignment */ U8 _align10; /*< 57: 1> alignment */ U8 _align11; /*< 58: 1> alignment */ U8 v_tft_dest_port_range; /*< 59: 1> valid-flag */ T_M_SM_tft_dest_port_range tft_dest_port_range; /*< 60: 4> destination port range */ U8 _align12; /*< 64: 1> alignment */ U8 _align13; /*< 65: 1> alignment */ U8 _align14; /*< 66: 1> alignment */ U8 v_tft_dest_port; /*< 67: 1> valid-flag */ T_M_SM_tft_dest_port tft_dest_port; /*< 68: 4> single destination port */ U8 _align15; /*< 72: 1> alignment */ U8 _align16; /*< 73: 1> alignment */ U8 _align17; /*< 74: 1> alignment */ U8 v_tft_src_port_range; /*< 75: 1> valid-flag */ T_M_SM_tft_src_port_range tft_src_port_range; /*< 76: 4> source port range */ U8 _align18; /*< 80: 1> alignment */ U8 _align19; /*< 81: 1> alignment */ U8 _align20; /*< 82: 1> alignment */ U8 v_tft_src_port; /*< 83: 1> valid-flag */ T_M_SM_tft_src_port tft_src_port; /*< 84: 4> single source port */ U8 _align21; /*< 88: 1> alignment */ U8 _align22; /*< 89: 1> alignment */ U8 _align23; /*< 90: 1> alignment */ U8 v_tft_ipsec_spi; /*< 91: 1> valid-flag */ T_M_SM_tft_ipsec_spi tft_ipsec_spi; /*< 92: 12> IPSec SPI */ U8 _align24; /*<104: 1> alignment */ U8 _align25; /*<105: 1> alignment */ U8 _align26; /*<106: 1> alignment */ U8 v_tft_tos_and_mask; /*<107: 1> valid-flag */ T_M_SM_tft_tos_and_mask tft_tos_and_mask; /*<108: 4> Type of service/mask */ U8 _align27; /*<112: 1> alignment */ U8 _align28; /*<113: 1> alignment */ U8 _align29; /*<114: 1> alignment */ U8 v_tft_flow_label; /*<115: 1> valid-flag */ T_M_SM_tft_flow_label tft_flow_label; /*<116: 4> flow label */ } T_M_SM_tft_filter_entry; #endif #ifndef __T_M_SM_tft_filter__ #define __T_M_SM_tft_filter__ /* * traffic flow template packet filter * CCDGEN:WriteStruct_Count==1136 */ typedef struct { U8 tft_filter_id; /*< 0: 1> TFT packet filter ID */ U8 tft_filter_prio; /*< 1: 1> TFT packet filter precedence/prioroty */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ T_M_SM_tft_filter_entry tft_filter_entry; /*< 4:120> traffic flow template */ } T_M_SM_tft_filter; #endif #ifndef __T_M_SM_tft__ #define __T_M_SM_tft__ /* * traffic flow template * CCDGEN:WriteStruct_Count==1137 */ typedef struct { U8 tft_opcode; /*< 0: 1> T_M_SM_tft_opcode, TFT operation code */ U8 tft_filter_count; /*< 1: 1> TFT filter count */ U8 v_tft_filter_id; /*< 2: 1> valid-flag */ U8 c_tft_filter_id; /*< 3: 1> counter */ U8 tft_filter_id[8]; /*< 4: 8> TFT packet filter ID */ U8 _align0; /*< 12: 1> alignment */ U8 _align1; /*< 13: 1> alignment */ U8 v_tft_filter; /*< 14: 1> valid-flag */ U8 c_tft_filter; /*< 15: 1> counter */ T_M_SM_tft_filter tft_filter[8]; /*< 16:992> traffic flow template packet filter */ } T_M_SM_tft; #endif /* * End of substructure section, begin of message definition section */ #ifndef __T_ACTIVATE_PDP_CONTEXT_REQUEST__ #define __T_ACTIVATE_PDP_CONTEXT_REQUEST__ /* * * CCDGEN:WriteStruct_Count==1138 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_nsapi nsapi; /*< 4: 4> network service access point identifier */ T_M_SM_llc_sapi llc_sapi; /*< 8: 4> LLC service access point identifier */ T_M_SM_qos qos; /*< 12: 28> quality of service */ T_M_SM_address address; /*< 40: 20> packet data protocol address */ U8 _align3; /*< 60: 1> alignment */ U8 _align4; /*< 61: 1> alignment */ U8 _align5; /*< 62: 1> alignment */ U8 v_apn; /*< 63: 1> valid-flag */ T_M_SM_apn apn; /*< 64:104> access point name */ U8 _align6; /*<168: 1> alignment */ U8 _align7; /*<169: 1> alignment */ U8 _align8; /*<170: 1> alignment */ U8 v_pco; /*<171: 1> valid-flag */ T_M_SM_pco pco; /*<172:256> protocol information options */ } T_ACTIVATE_PDP_CONTEXT_REQUEST; #endif #ifndef __T_ACTIVATE_PDP_CONTEXT_ACCEPT__ #define __T_ACTIVATE_PDP_CONTEXT_ACCEPT__ /* * * CCDGEN:WriteStruct_Count==1139 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_llc_sapi llc_sapi; /*< 4: 4> LLC service access point identifier */ T_M_SM_qos qos; /*< 8: 28> quality of service */ T_M_SM_radio_prio radio_prio; /*< 36: 4> radio priority */ U8 _align3; /*< 40: 1> alignment */ U8 _align4; /*< 41: 1> alignment */ U8 _align5; /*< 42: 1> alignment */ U8 v_address; /*< 43: 1> valid-flag */ T_M_SM_address address; /*< 44: 20> packet data protocol address */ U8 _align6; /*< 64: 1> alignment */ U8 _align7; /*< 65: 1> alignment */ U8 _align8; /*< 66: 1> alignment */ U8 v_pco; /*< 67: 1> valid-flag */ T_M_SM_pco pco; /*< 68:256> protocol information options */ U8 _align9; /*<324: 1> alignment */ U8 _align10; /*<325: 1> alignment */ U8 _align11; /*<326: 1> alignment */ U8 v_pfi; /*<327: 1> valid-flag */ T_M_SM_pfi pfi; /*<328: 4> packet flow identifier */ } T_ACTIVATE_PDP_CONTEXT_ACCEPT; #endif #ifndef __T_ACTIVATE_PDP_CONTEXT_REJECT__ #define __T_ACTIVATE_PDP_CONTEXT_REJECT__ /* * * CCDGEN:WriteStruct_Count==1140 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ U8 _align3; /*< 8: 1> alignment */ U8 _align4; /*< 9: 1> alignment */ U8 _align5; /*< 10: 1> alignment */ U8 v_pco; /*< 11: 1> valid-flag */ T_M_SM_pco pco; /*< 12:256> protocol information options */ } T_ACTIVATE_PDP_CONTEXT_REJECT; #endif #ifndef __T_ACTIVATE_SECONDARY_PDP_CONTEXT_REQUEST__ #define __T_ACTIVATE_SECONDARY_PDP_CONTEXT_REQUEST__ /* * * CCDGEN:WriteStruct_Count==1141 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_nsapi nsapi; /*< 4: 4> network service access point identifier */ T_M_SM_llc_sapi llc_sapi; /*< 8: 4> LLC service access point identifier */ T_M_SM_qos qos; /*< 12: 28> quality of service */ T_M_SM_linked_ti linked_ti; /*< 40: 8> linked TI */ U8 _align3; /*< 48: 1> alignment */ U8 _align4; /*< 49: 1> alignment */ U8 _align5; /*< 50: 1> alignment */ U8 v_tft; /*< 51: 1> valid-flag */ T_M_SM_tft tft; /*< 52:1008> traffic flow template */ } T_ACTIVATE_SECONDARY_PDP_CONTEXT_REQUEST; #endif #ifndef __T_ACTIVATE_SECONDARY_PDP_CONTEXT_ACCEPT__ #define __T_ACTIVATE_SECONDARY_PDP_CONTEXT_ACCEPT__ /* * * CCDGEN:WriteStruct_Count==1142 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_llc_sapi llc_sapi; /*< 4: 4> LLC service access point identifier */ T_M_SM_qos qos; /*< 8: 28> quality of service */ T_M_SM_radio_prio radio_prio; /*< 36: 4> radio priority */ U8 _align3; /*< 40: 1> alignment */ U8 _align4; /*< 41: 1> alignment */ U8 _align5; /*< 42: 1> alignment */ U8 v_pfi; /*< 43: 1> valid-flag */ T_M_SM_pfi pfi; /*< 44: 4> packet flow identifier */ } T_ACTIVATE_SECONDARY_PDP_CONTEXT_ACCEPT; #endif #ifndef __T_ACTIVATE_SECONDARY_PDP_CONTEXT_REJECT__ #define __T_ACTIVATE_SECONDARY_PDP_CONTEXT_REJECT__ /* * * CCDGEN:WriteStruct_Count==1143 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ } T_ACTIVATE_SECONDARY_PDP_CONTEXT_REJECT; #endif #ifndef __T_REQUEST_PDP_CONTEXT_ACTIVATION__ #define __T_REQUEST_PDP_CONTEXT_ACTIVATION__ /* * * CCDGEN:WriteStruct_Count==1144 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_address address; /*< 4: 20> packet data protocol address */ U8 _align3; /*< 24: 1> alignment */ U8 _align4; /*< 25: 1> alignment */ U8 _align5; /*< 26: 1> alignment */ U8 v_apn; /*< 27: 1> valid-flag */ T_M_SM_apn apn; /*< 28:104> access point name */ } T_REQUEST_PDP_CONTEXT_ACTIVATION; #endif #ifndef __T_REQUEST_PDP_CONTEXT_ACTIVATION_REJECT__ #define __T_REQUEST_PDP_CONTEXT_ACTIVATION_REJECT__ /* * * CCDGEN:WriteStruct_Count==1145 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ } T_REQUEST_PDP_CONTEXT_ACTIVATION_REJECT; #endif #ifndef __T_D_MODIFY_PDP_CONTEXT_REQUEST__ #define __T_D_MODIFY_PDP_CONTEXT_REQUEST__ /* * * CCDGEN:WriteStruct_Count==1146 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_radio_prio radio_prio; /*< 4: 4> radio priority */ T_M_SM_llc_sapi llc_sapi; /*< 8: 4> LLC service access point identifier */ T_M_SM_qos qos; /*< 12: 28> quality of service */ U8 _align3; /*< 40: 1> alignment */ U8 _align4; /*< 41: 1> alignment */ U8 _align5; /*< 42: 1> alignment */ U8 v_address; /*< 43: 1> valid-flag */ T_M_SM_address address; /*< 44: 20> packet data protocol address */ U8 _align6; /*< 64: 1> alignment */ U8 _align7; /*< 65: 1> alignment */ U8 _align8; /*< 66: 1> alignment */ U8 v_pfi; /*< 67: 1> valid-flag */ T_M_SM_pfi pfi; /*< 68: 4> packet flow identifier */ } T_D_MODIFY_PDP_CONTEXT_REQUEST; #endif #ifndef __T_U_MODIFY_PDP_CONTEXT_REQUEST__ #define __T_U_MODIFY_PDP_CONTEXT_REQUEST__ /* * * CCDGEN:WriteStruct_Count==1147 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 v_llc_sapi; /*< 3: 1> valid-flag */ T_M_SM_llc_sapi llc_sapi; /*< 4: 4> LLC service access point identifier */ U8 _align2; /*< 8: 1> alignment */ U8 _align3; /*< 9: 1> alignment */ U8 _align4; /*< 10: 1> alignment */ U8 v_qos; /*< 11: 1> valid-flag */ T_M_SM_qos qos; /*< 12: 28> quality of service */ U8 _align5; /*< 40: 1> alignment */ U8 _align6; /*< 41: 1> alignment */ U8 _align7; /*< 42: 1> alignment */ U8 v_tft; /*< 43: 1> valid-flag */ T_M_SM_tft tft; /*< 44:1008> traffic flow template */ } T_U_MODIFY_PDP_CONTEXT_REQUEST; #endif #ifndef __T_U_MODIFY_PDP_CONTEXT_ACCEPT__ #define __T_U_MODIFY_PDP_CONTEXT_ACCEPT__ /* * * CCDGEN:WriteStruct_Count==1148 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_U_MODIFY_PDP_CONTEXT_ACCEPT; #endif #ifndef __T_D_MODIFY_PDP_CONTEXT_ACCEPT__ #define __T_D_MODIFY_PDP_CONTEXT_ACCEPT__ /* * * CCDGEN:WriteStruct_Count==1149 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 v_qos; /*< 3: 1> valid-flag */ T_M_SM_qos qos; /*< 4: 28> quality of service */ U8 _align2; /*< 32: 1> alignment */ U8 _align3; /*< 33: 1> alignment */ U8 _align4; /*< 34: 1> alignment */ U8 v_llc_sapi; /*< 35: 1> valid-flag */ T_M_SM_llc_sapi llc_sapi; /*< 36: 4> LLC service access point identifier */ U8 _align5; /*< 40: 1> alignment */ U8 _align6; /*< 41: 1> alignment */ U8 _align7; /*< 42: 1> alignment */ U8 v_radio_prio; /*< 43: 1> valid-flag */ T_M_SM_radio_prio radio_prio; /*< 44: 4> radio priority */ U8 _align8; /*< 48: 1> alignment */ U8 _align9; /*< 49: 1> alignment */ U8 _align10; /*< 50: 1> alignment */ U8 v_pfi; /*< 51: 1> valid-flag */ T_M_SM_pfi pfi; /*< 52: 4> packet flow identifier */ } T_D_MODIFY_PDP_CONTEXT_ACCEPT; #endif #ifndef __T_MODIFY_PDP_CONTEXT_REJECT__ #define __T_MODIFY_PDP_CONTEXT_REJECT__ /* * * CCDGEN:WriteStruct_Count==1150 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ } T_MODIFY_PDP_CONTEXT_REJECT; #endif #ifndef __T_DEACTIVATE_PDP_CONTEXT_REQUEST__ #define __T_DEACTIVATE_PDP_CONTEXT_REQUEST__ /* * * CCDGEN:WriteStruct_Count==1151 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ U8 _align3; /*< 8: 1> alignment */ U8 _align4; /*< 9: 1> alignment */ U8 _align5; /*< 10: 1> alignment */ U8 v_tear_down; /*< 11: 1> valid-flag */ T_M_SM_tear_down tear_down; /*< 12: 4> tear down indicator */ } T_DEACTIVATE_PDP_CONTEXT_REQUEST; #endif #ifndef __T_DEACTIVATE_PDP_CONTEXT_ACCEPT__ #define __T_DEACTIVATE_PDP_CONTEXT_ACCEPT__ /* * * CCDGEN:WriteStruct_Count==1152 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_DEACTIVATE_PDP_CONTEXT_ACCEPT; #endif #ifndef __T_SM_STATUS__ #define __T_SM_STATUS__ /* * * CCDGEN:WriteStruct_Count==1153 */ typedef struct { U8 msg_type; /*< 0: 1> message type */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_M_SM_sm_cause sm_cause; /*< 4: 4> SM cause */ } T_SM_STATUS; #endif #include "CDG_LEAVE.h" #endif