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