view cdg-hybrid/cdginc/p_8010_152_ps_include.h @ 304:58c7961bd0b0 default tip

TCH tap: extend DL sniffing feature to support CSD modes Our debug feature for TCH DL sniffing reads the content of the DSP's a_dd_0 buffer (or a_dd_1 for TCH/H subchannel 1) at appropriate times and forwards captured bits to the host. This feature was originally implemented for TCH/FS, TCH/EFS and TCH/HS - now extend it to cover TCH/F data modes too.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 25 Nov 2024 23:33:27 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_8010_152_ps_include.h                                        |
| SOURCE  : "sap\8010_152_ps_include.pdf"                                  |
| LastModified : "2003-10-15"                                              |
| IdAndVersion : "8010.152.02.023"                                         |
| SrcFileTime  : "Thu Nov 29 09:28:58 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                 : PS
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: YES
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_8010_152_PS_INCLUDE_H
#define P_8010_152_PS_INCLUDE_H


#define CDG_ENTER__P_8010_152_PS_INCLUDE_H

#define CDG_ENTER__FILENAME _P_8010_152_PS_INCLUDE_H
#define CDG_ENTER__P_8010_152_PS_INCLUDE_H__FILE_TYPE CDGINC
#define CDG_ENTER__P_8010_152_PS_INCLUDE_H__LAST_MODIFIED _2003_10_15
#define CDG_ENTER__P_8010_152_PS_INCLUDE_H__ID_AND_VERSION _8010_152_02_023

#define CDG_ENTER__P_8010_152_PS_INCLUDE_H__SRC_FILE_TIME _Thu_Nov_29_09_28_58_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_8010_152_PS_INCLUDE_H

#undef CDG_ENTER__FILENAME


#include "p_8010_152_ps_include.val"


/*
 * typedef between var and valtab enums
 */
#ifndef __T_PS_pkt_flow_id__
#define __T_PS_pkt_flow_id__
typedef T_PS_VAL_pkt_flow_id T_PS_pkt_flow_id;
#endif

#ifndef __T_PS_delay__
#define __T_PS_delay__
typedef T_PS_VAL_delay T_PS_delay;
#endif

#ifndef __T_PS_relclass__
#define __T_PS_relclass__
typedef T_PS_VAL_relclass T_PS_relclass;
#endif

#ifndef __T_PS_peak__
#define __T_PS_peak__
typedef T_PS_VAL_peak T_PS_peak;
#endif

#ifndef __T_PS_preced__
#define __T_PS_preced__
typedef T_PS_VAL_preced T_PS_preced;
#endif

#ifndef __T_PS_mean__
#define __T_PS_mean__
typedef T_PS_VAL_mean T_PS_mean;
#endif

#ifndef __T_PS_tc__
#define __T_PS_tc__
typedef T_PS_VAL_tc T_PS_tc;
#endif

#ifndef __T_PS_order__
#define __T_PS_order__
typedef T_PS_VAL_order T_PS_order;
#endif

#ifndef __T_PS_del_err_sdu__
#define __T_PS_del_err_sdu__
typedef T_PS_VAL_del_err_sdu T_PS_del_err_sdu;
#endif

#ifndef __T_PS_max_sdu__
#define __T_PS_max_sdu__
typedef T_PS_VAL_max_sdu T_PS_max_sdu;
#endif

#ifndef __T_PS_max_rate_ul__
#define __T_PS_max_rate_ul__
typedef T_PS_VAL_max_rate_ul T_PS_max_rate_ul;
#endif

#ifndef __T_PS_max_rate_dl__
#define __T_PS_max_rate_dl__
typedef T_PS_VAL_max_rate_dl T_PS_max_rate_dl;
#endif

#ifndef __T_PS_xfer_delay__
#define __T_PS_xfer_delay__
typedef T_PS_VAL_xfer_delay T_PS_xfer_delay;
#endif

#ifndef __T_PS_handling_pri__
#define __T_PS_handling_pri__
typedef T_PS_VAL_handling_pri T_PS_handling_pri;
#endif

#ifndef __T_PS_guar_br_ul__
#define __T_PS_guar_br_ul__
typedef T_PS_VAL_guar_br_ul T_PS_guar_br_ul;
#endif

#ifndef __T_PS_guar_br_dl__
#define __T_PS_guar_br_dl__
typedef T_PS_VAL_guar_br_dl T_PS_guar_br_dl;
#endif

#ifndef __T_PS_sgsn_rel__
#define __T_PS_sgsn_rel__
typedef T_PS_VAL_sgsn_rel T_PS_sgsn_rel;
#endif

#ifndef __T_PS_content__
#define __T_PS_content__
typedef T_PS_VAL_content T_PS_content;
#endif

#ifndef __T_PS_access_modes__
#define __T_PS_access_modes__
typedef T_PS_VAL_access_modes T_PS_access_modes;
#endif

#ifndef __T_PS_arfcn_rssi__
#define __T_PS_arfcn_rssi__
typedef T_PS_VAL_arfcn_rssi T_PS_arfcn_rssi;
#endif

#ifndef __T_PS_attach_detach_allowed__
#define __T_PS_attach_detach_allowed__
typedef T_PS_VAL_attach_detach_allowed T_PS_attach_detach_allowed;
#endif

#ifndef __T_PS_service_level__
#define __T_PS_service_level__
typedef T_PS_VAL_service_level T_PS_service_level;
#endif

#ifndef __T_PS_cn_domain__
#define __T_PS_cn_domain__
typedef T_PS_VAL_cn_domain T_PS_cn_domain;
#endif

#ifndef __T_PS_cpich_ec_n0__
#define __T_PS_cpich_ec_n0__
typedef T_PS_VAL_cpich_ec_n0 T_PS_cpich_ec_n0;
#endif

#ifndef __T_PS_cpich_rscp__
#define __T_PS_cpich_rscp__
typedef T_PS_VAL_cpich_rscp T_PS_cpich_rscp;
#endif

#ifndef __T_PS_est_service__
#define __T_PS_est_service__
typedef T_PS_VAL_est_service T_PS_est_service;
#endif

#ifndef __T_PS_arfcn__
#define __T_PS_arfcn__
typedef T_PS_VAL_arfcn T_PS_arfcn;
#endif

#ifndef __T_PS_gsm_band_priority__
#define __T_PS_gsm_band_priority__
typedef T_PS_VAL_gsm_band_priority T_PS_gsm_band_priority;
#endif

#ifndef __T_PS_ncc__
#define __T_PS_ncc__
typedef T_PS_VAL_ncc T_PS_ncc;
#endif

#ifndef __T_PS_bcc__
#define __T_PS_bcc__
typedef T_PS_VAL_bcc T_PS_bcc;
#endif

#ifndef __T_PS_gsm_frequency_band__
#define __T_PS_gsm_frequency_band__
typedef T_PS_VAL_gsm_frequency_band T_PS_gsm_frequency_band;
#endif

#ifndef __T_PS_gsm_ncell_index__
#define __T_PS_gsm_ncell_index__
typedef T_PS_VAL_gsm_ncell_index T_PS_gsm_ncell_index;
#endif

#ifndef __T_PS_bsic_valid__
#define __T_PS_bsic_valid__
typedef T_PS_VAL_bsic_valid T_PS_bsic_valid;
#endif

#ifndef __T_PS_llc_mode__
#define __T_PS_llc_mode__
typedef T_PS_VAL_llc_mode T_PS_llc_mode;
#endif

#ifndef __T_PS_meas_mode__
#define __T_PS_meas_mode__
typedef T_PS_VAL_meas_mode T_PS_meas_mode;
#endif

#ifndef __T_PS_nmo__
#define __T_PS_nmo__
typedef T_PS_VAL_nmo T_PS_nmo;
#endif

#ifndef __T_PS_search_mode__
#define __T_PS_search_mode__
typedef T_PS_VAL_search_mode T_PS_search_mode;
#endif

#ifndef __T_PS_peak_throughput__
#define __T_PS_peak_throughput__
typedef T_PS_VAL_peak T_PS_peak_throughput;
#endif

#ifndef __T_PS_t3212__
#define __T_PS_t3212__
typedef T_PS_VAL_t3212 T_PS_t3212;
#endif

#ifndef __T_PS_mcc__
#define __T_PS_mcc__
typedef T_PS_VAL_mcc T_PS_mcc;
#endif

#ifndef __T_PS_mnc__
#define __T_PS_mnc__
typedef T_PS_VAL_mnc T_PS_mnc;
#endif

#ifndef __T_PS_rat__
#define __T_PS_rat__
typedef T_PS_VAL_rat T_PS_rat;
#endif

#ifndef __T_PS_radio_prio__
#define __T_PS_radio_prio__
typedef T_PS_VAL_radio_prio T_PS_radio_prio;
#endif

#ifndef __T_PS_rel_ind__
#define __T_PS_rel_ind__
typedef T_PS_VAL_rel_ind T_PS_rel_ind;
#endif

#ifndef __T_PS_ksi__
#define __T_PS_ksi__
typedef T_PS_VAL_ksi T_PS_ksi;
#endif

#ifndef __T_PS_sapi__
#define __T_PS_sapi__
typedef T_PS_VAL_sapi T_PS_sapi;
#endif

#ifndef __T_PS_sim_type__
#define __T_PS_sim_type__
typedef T_PS_VAL_sim_type T_PS_sim_type;
#endif

#ifndef __T_PS_uarfcn_rssi__
#define __T_PS_uarfcn_rssi__
typedef T_PS_VAL_uarfcn_rssi T_PS_uarfcn_rssi;
#endif

#ifndef __T_PS_uarfcn__
#define __T_PS_uarfcn__
typedef T_PS_VAL_uarfcn T_PS_uarfcn;
#endif

#ifndef __T_PS_cell_status__
#define __T_PS_cell_status__
typedef T_PS_VAL_cell_status T_PS_cell_status;
#endif

#ifndef __T_PS_psc__
#define __T_PS_psc__
typedef T_PS_VAL_psc T_PS_psc;
#endif

#ifndef __T_PS_threshold__
#define __T_PS_threshold__
typedef T_PS_VAL_threshold T_PS_threshold;
#endif

#ifndef __T_PS_start_val__
#define __T_PS_start_val__
typedef T_PS_VAL_start_val T_PS_start_val;
#endif

#ifndef __T_PS_tx_diversity__
#define __T_PS_tx_diversity__
typedef T_PS_VAL_tx_diversity T_PS_tx_diversity;
#endif

#ifndef __T_PS_acc__
#define __T_PS_acc__
/*
 * Container for the access control class field from (U)SIM, see [3G 11.11] and [3G 31.102]
 * CCDGEN:WriteStruct_Count==1341
 */
typedef struct
{
  U8                        content[PS_SIZE_ACC];     /*<  0:  2> T_PS_content,  Content of access control class     */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_PS_acc;
#endif

#ifndef __T_PS_ad__
#define __T_PS_ad__
/*
 * Container for the administrative data field from (U)SIM, see [3G 11.11] and [3G 31.102]
 * CCDGEN:WriteStruct_Count==1342
 */
typedef struct
{
  U8                        op;                       /*<  0:  1> UE operation mode                                  */
  U8                        ai[PS_SIZE_AI];           /*<  1:  2> Additional information                             */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
} T_PS_ad;
#endif

#ifndef __T_PS_gsm_bands__
#define __T_PS_gsm_bands__
/*
 * GSM bands
 * CCDGEN:WriteStruct_Count==1343
 */
typedef struct
{
  U16                       gsm_frequency_band;       /*<  0:  2> T_PS_gsm_frequency_band,  Frequency band specification */
  U16                       gsm_band_priority;        /*<  2:  2> T_PS_gsm_band_priority,  GSM band priority         */
} T_PS_gsm_bands;
#endif

#ifndef __T_PS_bsic__
#define __T_PS_bsic__
/*
 * GSM BSIC
 * CCDGEN:WriteStruct_Count==1344
 */
typedef struct
{
  U8                        ncc;                      /*<  0:  1> T_PS_ncc,  NCC                                     */
  U8                        bcc;                      /*<  1:  1> T_PS_bcc,  BCC                                     */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_PS_bsic;
#endif

#ifndef __T_PS_gsm_cell_description__
#define __T_PS_gsm_cell_description__
/*
 * GSM channel number and band specification
 * CCDGEN:WriteStruct_Count==1345
 */
typedef struct
{
  U16                       gsm_frequency_band;       /*<  0:  2> T_PS_gsm_frequency_band,  Frequency band specification */
  U16                       arfcn;                    /*<  2:  2> T_PS_arfcn,  GSM channel number                    */
  T_PS_bsic                 bsic;                     /*<  4:  4> GSM BSIC                                           */
} T_PS_gsm_cell_description;
#endif

#ifndef __T_PS_gsm_ncell_list__
#define __T_PS_gsm_ncell_list__
/*
 * GSM neighbour cell list
 * CCDGEN:WriteStruct_Count==1346
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        c_gsm_cell_description;   /*<  3:  1> counter                                            */
  T_PS_gsm_cell_description gsm_cell_description[PS_MAX_GSM_NCELLS]; /*<  4:256> GSM channel number and band specification          */
} T_PS_gsm_ncell_list;
#endif

#ifndef __T_PS_gsm_ncell_measurement__
#define __T_PS_gsm_ncell_measurement__
/*
 * GSM neighbour cell measurement result
 * CCDGEN:WriteStruct_Count==1347
 */
typedef struct
{
  T_PS_gsm_cell_description gsm_cell_description;     /*<  0:  8> GSM channel number and band specification          */
  U8                        bsic_valid;               /*<  8:  1> T_PS_bsic_valid,  BSIC validated                   */
  U8                        v_arfcn_rssi;             /*<  9:  1> valid-flag                                         */
  S8                        arfcn_rssi;               /*< 10:  1> T_PS_arfcn_rssi,  GSM channel RSSI measurement     */
  U8                        _align0;                  /*< 11:  1> alignment                                          */
} T_PS_gsm_ncell_measurement;
#endif

#ifndef __T_PS_gsm_ncell_results__
#define __T_PS_gsm_ncell_results__
/*
 * GSM neighbour cell results
 * CCDGEN:WriteStruct_Count==1348
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        c_gsm_ncell_measurement;  /*<  3:  1> counter                                            */
  T_PS_gsm_ncell_measurement gsm_ncell_measurement[PS_MAX_GSM_NCELLS]; /*<  4:384> GSM neighbour cell measurement result              */
} T_PS_gsm_ncell_results;
#endif

#ifndef __T_PS_imsi__
#define __T_PS_imsi__
/*
 * Container for a subscriber id
 * CCDGEN:WriteStruct_Count==1349
 */
typedef struct
{
  U8                        c_identity;               /*<  0:  1> counter                                            */
  U8                        identity[PS_SIZE_IMSI_MAX]; /*<  1: 15> Content of IMSI                                    */
} T_PS_imsi;
#endif

#ifndef __T_PS_k_c__
#define __T_PS_k_c__
/*
 * Container for GSM ciphering parameter
 * CCDGEN:WriteStruct_Count==1350
 */
typedef struct
{
  U8                        key[PS_SIZE_KC];          /*<  0:  8> Ciphering key                                      */
  U8                        ksi;                      /*<  8:  1> T_PS_ksi,  Key set identifier                      */
  U8                        _align0;                  /*<  9:  1> alignment                                          */
  U8                        _align1;                  /*< 10:  1> alignment                                          */
  U8                        _align2;                  /*< 11:  1> alignment                                          */
} T_PS_k_c;
#endif

/*
 * Container for GPRS ciphering parameter
 * CCDGEN:WriteStruct_Count==1351
 */
#ifndef __T_PS_k_c_gprs__
#define __T_PS_k_c_gprs__
typedef T_PS_k_c T_PS_k_c_gprs;
#endif
#ifndef __T_PS_gsm_key_set__
#define __T_PS_gsm_key_set__
/*
 * Contains information related to ciphering
 * CCDGEN:WriteStruct_Count==1352
 */
typedef struct
{
  T_PS_k_c                  k_c;                      /*<  0: 12> Container for GSM ciphering parameter              */
  T_PS_k_c_gprs             k_c_gprs;                 /*< 12: 12> Container for GPRS ciphering parameter             */
} T_PS_gsm_key_set;
#endif

#ifndef __T_PS_ul_sdus__
#define __T_PS_ul_sdus__
/*
 * Sequence numbers and mem handles pr. NSAPI
 * CCDGEN:WriteStruct_Count==1353
 */
typedef struct
{
  U8                        ul_sequence_number;       /*<  0:  1> Sequence number of last unacknowledged uplink SDU  */
  U8                        dl_sequence_number;       /*<  1:  1> Sequence number of last unacknowledged downlink SDU (used by the network) */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        c_mem_handle;             /*<  3:  1> counter                                            */
  U32                       *ptr_mem_handle;          /*<  4:  4> pointer to Memory handle                           */
} T_PS_ul_sdus;
#endif

#ifndef __T_PS_lac__
#define __T_PS_lac__
/*
 * Container for location area code
 * CCDGEN:WriteStruct_Count==1354
 */
typedef struct
{
  U8                        lac_elements[PS_SIZE_LAC]; /*<  0:  2> Location area code element                         */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_PS_lac;
#endif

#ifndef __T_PS_operation_mode__
#define __T_PS_operation_mode__
/*
 * Supported radio access technologies
 * CCDGEN:WriteStruct_Count==1355
 */
typedef struct
{
  U8                        access_modes;             /*<  0:  1> T_PS_access_modes,  Supported access modes.        */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        v_gsm_bands;              /*<  3:  1> valid-flag                                         */
  T_PS_gsm_bands            gsm_bands;                /*<  4:  4> GSM bands                                          */
} T_PS_operation_mode;
#endif

#ifndef __T_PS_nas_system_info__
#define __T_PS_nas_system_info__
/*
 * NAS system information
 * CCDGEN:WriteStruct_Count==1356
 */
typedef struct
{
  T_PS_lac                  lac;                      /*<  0:  4> Container for location area code                   */
  U8                        v_rac;                    /*<  4:  1> valid-flag                                         */
  U8                        rac;                      /*<  5:  1> Container for packet switched routing area code    */
  U8                        nmo;                      /*<  6:  1> T_PS_nmo,  Network mode of operation               */
  U8                        attach_detach_allowed;    /*<  7:  1> T_PS_attach_detach_allowed,  Attach/detach allowed */
  U8                        t3212;                    /*<  8:  1> T_PS_t3212,  Periodic updating timer               */
  U8                        _align0;                  /*<  9:  1> alignment                                          */
  U8                        _align1;                  /*< 10:  1> alignment                                          */
  U8                        _align2;                  /*< 11:  1> alignment                                          */
} T_PS_nas_system_info;
#endif

#ifndef __T_PS_p_tmsi__
#define __T_PS_p_tmsi__
/*
 * Container for P-TMSI
 * CCDGEN:WriteStruct_Count==1357
 */
typedef struct
{
  U8                        content_p_tmsi[PS_SIZE_P_TMSI]; /*<  0:  4> Content of P-TMSI                                  */
} T_PS_p_tmsi;
#endif

#ifndef __T_PS_plmn_id__
#define __T_PS_plmn_id__
/*
 * Container for a GSM MAP network identifier
 * CCDGEN:WriteStruct_Count==1358
 */
typedef struct
{
  U8                        mcc[PS_SIZE_MCC];         /*<  0:  3> T_PS_mcc,  Mobile country code                     */
  U8                        c_mnc;                    /*<  3:  1> counter                                            */
  U8                        mnc[PS_SIZE_MNC_MAX];     /*<  4:  3> T_PS_mnc,  Mobile network code                     */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_PS_plmn_id;
#endif

/*
 * Selected network identifier
 * CCDGEN:WriteStruct_Count==1359
 */
#ifndef __T_PS_selected_plmn__
#define __T_PS_selected_plmn__
typedef T_PS_plmn_id T_PS_selected_plmn;
#endif
/*
 * Home network identifier
 * CCDGEN:WriteStruct_Count==1360
 */
#ifndef __T_PS_home_plmn__
#define __T_PS_home_plmn__
typedef T_PS_plmn_id T_PS_home_plmn;
#endif
/*
 * Equivalent network identifier
 * CCDGEN:WriteStruct_Count==1361
 */
#ifndef __T_PS_equivalent_plmn__
#define __T_PS_equivalent_plmn__
typedef T_PS_plmn_id T_PS_equivalent_plmn;
#endif
#ifndef __T_PS_lai__
#define __T_PS_lai__
/*
 * Container for location area information
 * CCDGEN:WriteStruct_Count==1362
 */
typedef struct
{
  T_PS_plmn_id              plmn_id;                  /*<  0:  8> Container for a GSM MAP network identifier         */
  T_PS_lac                  lac;                      /*<  8:  4> Container for location area code                   */
} T_PS_lai;
#endif

#ifndef __T_PS_forbidden_lai__
#define __T_PS_forbidden_lai__
/*
 * Container for forbidden location area list
 * CCDGEN:WriteStruct_Count==1363
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        c_lai;                    /*<  3:  1> counter                                            */
  T_PS_lai                  lai[PS_MAX_FORBIDDEN_LAI]; /*<  4:120> Container for location area information            */
} T_PS_forbidden_lai;
#endif

#ifndef __T_PS_equivalent_plmn_list__
#define __T_PS_equivalent_plmn_list__
/*
 * Container for equivalent PLMN list
 * CCDGEN:WriteStruct_Count==1364
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        c_equivalent_plmn;        /*<  3:  1> counter                                            */
  T_PS_equivalent_plmn      equivalent_plmn[PS_MAX_EQUIVALENT_PLMNS]; /*<  4: 40> Equivalent network identifier                      */
} T_PS_equivalent_plmn_list;
#endif

#ifndef __T_PS_rai__
#define __T_PS_rai__
/*
 * Container for packet switched routing area identification
 * CCDGEN:WriteStruct_Count==1365
 */
typedef struct
{
  T_PS_lai                  lai;                      /*<  0: 12> Container for location area information            */
  U8                        rac;                      /*< 12:  1> Container for packet switched routing area code    */
  U8                        _align0;                  /*< 13:  1> alignment                                          */
  U8                        _align1;                  /*< 14:  1> alignment                                          */
  U8                        _align2;                  /*< 15:  1> alignment                                          */
} T_PS_rai;
#endif

#ifndef __T_PS_ps_loci__
#define __T_PS_ps_loci__
/*
 * Container for packet switched location information
 * CCDGEN:WriteStruct_Count==1366
 */
typedef struct
{
  T_PS_rai                  rai;                      /*<  0: 16> Container for packet switched routing area identification */
  U8                        _align0;                  /*< 16:  1> alignment                                          */
  U8                        _align1;                  /*< 17:  1> alignment                                          */
  U8                        _align2;                  /*< 18:  1> alignment                                          */
  U8                        v_p_tmsi;                 /*< 19:  1> valid-flag                                         */
  T_PS_p_tmsi               p_tmsi;                   /*< 20:  4> Container for P-TMSI                               */
} T_PS_ps_loci;
#endif

#ifndef __T_PS_tmsi__
#define __T_PS_tmsi__
/*
 * Container for TMSI
 * CCDGEN:WriteStruct_Count==1368
 */
typedef struct
{
  U8                        content_tmsi[PS_SIZE_TMSI]; /*<  0:  4> Content of TMSI                                    */
} T_PS_tmsi;
#endif

#ifndef __T_PS_loci__
#define __T_PS_loci__
/*
 * Container for location information
 * CCDGEN:WriteStruct_Count==1369
 */
typedef struct
{
  T_PS_lai                  lai;                      /*<  0: 12> Container for location area information            */
  U8                        _align0;                  /*< 12:  1> alignment                                          */
  U8                        _align1;                  /*< 13:  1> alignment                                          */
  U8                        _align2;                  /*< 14:  1> alignment                                          */
  U8                        v_tmsi;                   /*< 15:  1> valid-flag                                         */
  T_PS_tmsi                 tmsi;                     /*< 16:  4> Container for TMSI                                 */
} T_PS_loci;
#endif

#ifndef __T_PS_umts_cell_description__
#define __T_PS_umts_cell_description__
/*
 * Container for cell description information for a UMTS cell
 * CCDGEN:WriteStruct_Count==1370
 */
typedef struct
{
  U16                       uarfcn;                   /*<  0:  2> T_PS_uarfcn,  UMTS channel number                  */
  U16                       psc;                      /*<  2:  2> T_PS_psc,  FDD primary scrambling code             */
  U8                        v_tx_diversity;           /*<  4:  1> valid-flag                                         */
  U8                        tx_diversity;             /*<  5:  1> T_PS_tx_diversity,  UMTS FDD TX diversity indicator */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        _align1;                  /*<  7:  1> alignment                                          */
} T_PS_umts_cell_description;
#endif

#ifndef __T_PS_key_set__
#define __T_PS_key_set__
/*
 * Ciphering and integrity keys for a CN domain
 * CCDGEN:WriteStruct_Count==1371
 */
typedef struct
{
  U8                        ksi;                      /*<  0:  1> T_PS_ksi,  Key set identifier                      */
  U8                        ciphering_key[PS_SIZE_CK]; /*<  1: 16> Ciphering key                                      */
  U8                        integrity_key[PS_SIZE_IK]; /*< 17: 16> Integrity protection key                           */
  U8                        _align0;                  /*< 33:  1> alignment                                          */
  U8                        _align1;                  /*< 34:  1> alignment                                          */
  U8                        _align2;                  /*< 35:  1> alignment                                          */
} T_PS_key_set;
#endif

#ifndef __T_PS_umts_ncell_list__
#define __T_PS_umts_ncell_list__
/*
 * UMTS neighbour cell list
 * CCDGEN:WriteStruct_Count==1372
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        c_umts_cell_description;  /*<  3:  1> counter                                            */
  T_PS_umts_cell_description umts_cell_description[PS_MAX_UMTS_NCELLS]; /*<  4:512> Container for cell description information for a UMTS cell */
} T_PS_umts_ncell_list;
#endif

#ifndef __T_PS_umts_ncell_measurement__
#define __T_PS_umts_ncell_measurement__
/*
 * UMTS neighbour cell measurement result
 * CCDGEN:WriteStruct_Count==1373
 */
typedef struct
{
  U16                       psc;                      /*<  0:  2> T_PS_psc,  FDD primary scrambling code             */
  U8                        cell_status;              /*<  2:  1> T_PS_cell_status,  Cell suitability status         */
  U8                        v_cpich_rscp;             /*<  3:  1> valid-flag                                         */
  S8                        cpich_rscp;               /*<  4:  1> T_PS_cpich_rscp,  UMTS cell measurement value of CPICH RSCP */
  U8                        v_cpich_ec_n0;            /*<  5:  1> valid-flag                                         */
  S8                        cpich_ec_n0;              /*<  6:  1> T_PS_cpich_ec_n0,  UMTS cell measurement value of CPICH Ec/N0 */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_PS_umts_ncell_measurement;
#endif

#ifndef __T_PS_umts_ncell_results__
#define __T_PS_umts_ncell_results__
/*
 * UMTS neighbour cell results
 * CCDGEN:WriteStruct_Count==1374
 */
typedef struct
{
  U16                       uarfcn;                   /*<  0:  2> T_PS_uarfcn,  UMTS channel number                  */
  S8                        uarfcn_rssi;              /*<  2:  1> T_PS_uarfcn_rssi,  UMTS channel RSSI measurement   */
  U8                        c_umts_ncell_measurement; /*<  3:  1> counter                                            */
  T_PS_umts_ncell_measurement umts_ncell_measurement[PS_MAX_UMTS_NCELLS_PER_UARFCN]; /*<  4:256> UMTS neighbour cell measurement result             */
} T_PS_umts_ncell_results;
#endif

#ifndef __T_PS_cs_security_parms__
#define __T_PS_cs_security_parms__
/*
 * Contains parameters related to ciphering and integrity protection for CS domain.
 * CCDGEN:WriteStruct_Count==1375
 */
typedef struct
{
  T_PS_key_set              key_set;                  /*<  0: 36> Ciphering and integrity keys for a CN domain       */
  U8                        _align0;                  /*< 36:  1> alignment                                          */
  U8                        _align1;                  /*< 37:  1> alignment                                          */
  U8                        _align2;                  /*< 38:  1> alignment                                          */
  U8                        v_start_val;              /*< 39:  1> valid-flag                                         */
  U32                       start_val;                /*< 40:  4> T_PS_start_val,  START value (20 bits)             */
} T_PS_cs_security_parms;
#endif

/*
 * Contains parameters related to ciphering and integrity protection for PS domain.
 * CCDGEN:WriteStruct_Count==1376
 */
#ifndef __T_PS_ps_security_parms__
#define __T_PS_ps_security_parms__
typedef T_PS_cs_security_parms T_PS_ps_security_parms;
#endif
#ifndef __T_PS_umts_security_info__
#define __T_PS_umts_security_info__
/*
 * Contains information related to UMTS ciphering and integrity protection.
 * CCDGEN:WriteStruct_Count==1377
 */
typedef struct
{
  U8                        _align0;                  /*<  0:  1> alignment                                          */
  U8                        _align1;                  /*<  1:  1> alignment                                          */
  U8                        _align2;                  /*<  2:  1> alignment                                          */
  U8                        v_threshold;              /*<  3:  1> valid-flag                                         */
  U32                       threshold;                /*<  4:  4> T_PS_threshold,  THRESHOLD value                   */
  T_PS_cs_security_parms    cs_security_parms;        /*<  8: 44> Contains parameters related to ciphering and integrity protection for CS domain. */
  T_PS_ps_security_parms    ps_security_parms;        /*< 52: 44> Contains parameters related to ciphering and integrity protection for PS domain. */
} T_PS_umts_security_info;
#endif

#ifndef __T_PS_security_info__
#define __T_PS_security_info__
/*
 * Contains information related to ciphering and integrity protection.
 * CCDGEN:WriteStruct_Count==1378
 */
typedef struct
{
  U8                        sim_type;                 /*<  0:  1> T_PS_sim_type,  Type of subscriber card present.   */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        v_gsm_key_set;            /*<  3:  1> valid-flag                                         */
  T_PS_gsm_key_set          gsm_key_set;              /*<  4: 24> Contains information related to ciphering          */
  U8                        _align2;                  /*< 28:  1> alignment                                          */
  U8                        _align3;                  /*< 29:  1> alignment                                          */
  U8                        _align4;                  /*< 30:  1> alignment                                          */
  U8                        v_umts_security_info;     /*< 31:  1> valid-flag                                         */
  T_PS_umts_security_info   umts_security_info;       /*< 32: 96> Contains information related to UMTS ciphering and integrity protection. */
} T_PS_security_info;
#endif

#ifndef __T_PS_qos_r97__
#define __T_PS_qos_r97__
/*
 * quality of service R97
 * CCDGEN:WriteStruct_Count==1379
 */
typedef struct
{
  U8                        delay;                    /*<  0:  1> T_PS_delay,  delay class                           */
  U8                        relclass;                 /*<  1:  1> T_PS_relclass,  reliability class                  */
  U8                        peak;                     /*<  2:  1> T_PS_peak,  peak throughput                        */
  U8                        preced;                   /*<  3:  1> T_PS_preced,  precedence class                     */
  U8                        mean;                     /*<  4:  1> T_PS_mean,  mean throughput                        */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
} T_PS_qos_r97;
#endif

#ifndef __T_PS_sdu_err_ratio__
#define __T_PS_sdu_err_ratio__
/*
 * SDU error ratio
 * CCDGEN:WriteStruct_Count==1380
 */
typedef struct
{
  U8                        ratio_mant;               /*<  0:  1> mantissa                                           */
  U8                        ratio_exp;                /*<  1:  1> exponent                                           */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_PS_sdu_err_ratio;
#endif

/*
 * Residual bit error ratio
 * CCDGEN:WriteStruct_Count==1381
 */
#ifndef __T_PS_ber__
#define __T_PS_ber__
typedef T_PS_sdu_err_ratio T_PS_ber;
#endif
#ifndef __T_PS_qos_r99__
#define __T_PS_qos_r99__
/*
 * quality of service R99
 * CCDGEN:WriteStruct_Count==1382
 */
typedef struct
{
  U8                        tc;                       /*<  0:  1> T_PS_tc,  traffic class; R99 / UMTS                */
  U8                        order;                    /*<  1:  1> T_PS_order,  delivery order; R99 / UMTS            */
  U8                        del_err_sdu;              /*<  2:  1> T_PS_del_err_sdu,  delivery of erroneous SDU; R99 / UMTS */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
  U16                       max_sdu;                  /*<  4:  2> T_PS_max_sdu,  max SDU size; R99 / UMTS            */
  U16                       max_rate_ul;              /*<  6:  2> T_PS_max_rate_ul,  max bit-rate uplink; R99 / UMTS */
  U16                       max_rate_dl;              /*<  8:  2> T_PS_max_rate_dl,  max bit-rate downlink; R99 / UMTS */
  U8                        _align1;                  /*< 10:  1> alignment                                          */
  U8                        _align2;                  /*< 11:  1> alignment                                          */
  T_PS_ber                  ber;                      /*< 12:  4> Residual bit error ratio                           */
  T_PS_sdu_err_ratio        sdu_err_ratio;            /*< 16:  4> SDU error ratio                                    */
  U16                       xfer_delay;               /*< 20:  2> T_PS_xfer_delay,  transfer delay; R99 / UMTS       */
  U8                        handling_pri;             /*< 22:  1> T_PS_handling_pri,  traffic handling priority; R99 / UMTS */
  U8                        _align3;                  /*< 23:  1> alignment                                          */
  U16                       guar_br_ul;               /*< 24:  2> T_PS_guar_br_ul,  guaranteed bit-rate uplink; R99 / UMTS */
  U16                       guar_br_dl;               /*< 26:  2> T_PS_guar_br_dl,  guaranteed bit-rate downlink; R99 / UMTS */
} T_PS_qos_r99;
#endif

#ifndef __T_PS_min_qos__
#define __T_PS_min_qos__
/*
 * quality of service
 * CCDGEN:WriteStruct_Count==1383
 */
typedef union
{
  U32                       min_qos_not_present;      /*<  0:  4> QoS parameters absent                              */
  T_PS_qos_r97              qos_r97;                  /*<  0:  8> quality of service R97                             */
  T_PS_qos_r99              qos_r99;                  /*<  0: 28> quality of service R99                             */
} T_PS_min_qos;
#endif

#ifndef __T_PS_qos__
#define __T_PS_qos__
/*
 * quality of service
 * CCDGEN:WriteStruct_Count==1384
 */
typedef union
{
  U32                       qos_not_present;          /*<  0:  4> QoS parameters absent. From nas_include sap        */
  T_PS_qos_r97              qos_r97;                  /*<  0:  8> quality of service R97                             */
  T_PS_qos_r99              qos_r99;                  /*<  0: 28> quality of service R99                             */
} T_PS_qos;
#endif


/*
 * End of substructure section, begin of primitive definition section
 */

#ifndef __T_PS_EXPORT__
#define __T_PS_EXPORT__
/*
 * 
 * CCDGEN:WriteStruct_Count==1386
 */
typedef struct
{
  T_PS_acc                  acc;                      /*<  0:  4> Container for the access control class field from (U)SIM, see [3G 11.11] and [3G 31.102] */
  T_PS_ad                   ad;                       /*<  4:  4> Container for the administrative data field from (U)SIM, see [3G 11.11] and [3G 31.102] */
  U16                       arfcn;                    /*<  8:  2> T_PS_arfcn,  GSM channel number                    */
  S8                        arfcn_rssi;               /*< 10:  1> T_PS_arfcn_rssi,  GSM channel RSSI measurement     */
  U8                        _align0;                  /*< 11:  1> alignment                                          */
  T_PS_bsic                 bsic;                     /*< 12:  4> GSM BSIC                                           */
  U8                        cn_domain;                /*< 16:  1> T_PS_cn_domain,  Core network domain identity      */
  S8                        cpich_ec_n0;              /*< 17:  1> T_PS_cpich_ec_n0,  UMTS cell measurement value of CPICH Ec/N0 */
  S8                        cpich_rscp;               /*< 18:  1> T_PS_cpich_rscp,  UMTS cell measurement value of CPICH RSCP */
  U8                        est_service;              /*< 19:  1> T_PS_est_service,  Establishment service requested */
  T_PS_cs_security_parms    cs_security_parms;        /*< 20: 44> Contains parameters related to ciphering and integrity protection for CS domain. */
  T_PS_equivalent_plmn      equivalent_plmn;          /*< 64:  8> Equivalent network identifier                      */
  T_PS_equivalent_plmn_list equivalent_plmn_list;     /*< 72: 44> Container for equivalent PLMN list                 */
  T_PS_forbidden_lai        forbidden_lai;            /*<116:124> Container for forbidden location area list         */
  T_PS_gsm_cell_description gsm_cell_description;     /*<240:  8> GSM channel number and band specification          */
  U16                       gsm_frequency_band;       /*<248:  2> T_PS_gsm_frequency_band,  Frequency band specification */
  U8                        gsm_ncell_index;          /*<250:  1> T_PS_gsm_ncell_index,  GSM neighbour cell index    */
  U8                        _align1;                  /*<251:  1> alignment                                          */
  T_PS_gsm_ncell_list       gsm_ncell_list;           /*<252:260> GSM neighbour cell list                            */
  T_PS_gsm_ncell_measurement gsm_ncell_measurement;   /*<512: 12> GSM neighbour cell measurement result              */
  T_PS_gsm_ncell_results    gsm_ncell_results;        /*<524:388> GSM neighbour cell results                         */
  T_PS_gsm_key_set          gsm_key_set;              /*<912: 24> Contains information related to ciphering          */
  T_PS_home_plmn            home_plmn;                /*<936:  8> Home network identifier                            */
  T_PS_imsi                 imsi;                     /*<944: 16> Container for a subscriber id                      */
  T_PS_k_c                  k_c;                      /*<960: 12> Container for GSM ciphering parameter              */
  T_PS_k_c_gprs             k_c_gprs;                 /*<972: 12> Container for GPRS ciphering parameter             */
  T_PS_key_set              key_set;                  /*<984: 36> Ciphering and integrity keys for a CN domain       */
  U8                        ksi;                      /*<1020:  1> T_PS_ksi,  Key set identifier                      */
  U8                        _align2;                  /*<1021:  1> alignment                                          */
  U8                        _align3;                  /*<1022:  1> alignment                                          */
  U8                        _align4;                  /*<1023:  1> alignment                                          */
  T_PS_lac                  lac;                      /*<1024:  4> Container for location area code                   */
  T_PS_lai                  lai;                      /*<1028: 12> Container for location area information            */
  T_PS_loci                 loci;                     /*<1040: 20> Container for location information                 */
  U8                        llc_mode;                 /*<1060:  1> T_PS_llc_mode,  LLC mode                           */
  U8                        meas_mode;                /*<1061:  1> T_PS_meas_mode,  Measurement mode                  */
  U8                        _align5;                  /*<1062:  1> alignment                                          */
  U8                        _align6;                  /*<1063:  1> alignment                                          */
  U32                       mem_handle;               /*<1064:  4> Memory handle                                      */
  T_PS_nas_system_info      nas_system_info;          /*<1068: 12> NAS system information                             */
  T_PS_operation_mode       operation_mode;           /*<1080:  8> Supported radio access technologies                */
  T_PS_p_tmsi               p_tmsi;                   /*<1088:  4> Container for P-TMSI                               */
  U16                       peak_throughput;          /*<1092:  2> T_PS_peak_throughput,  Peak throughput QoS parameter */
  U8                        _align7;                  /*<1094:  1> alignment                                          */
  U8                        _align8;                  /*<1095:  1> alignment                                          */
  T_PS_plmn_id              plmn_id;                  /*<1096:  8> Container for a GSM MAP network identifier         */
  T_PS_ps_loci              ps_loci;                  /*<1104: 24> Container for packet switched location information */
  T_PS_ps_security_parms    ps_security_parms;        /*<1128: 44> Contains parameters related to ciphering and integrity protection for PS domain. */
  U16                       psc;                      /*<1172:  2> T_PS_psc,  FDD primary scrambling code             */
  U8                        radio_prio;               /*<1174:  1> T_PS_radio_prio,  Radio priority                   */
  U8                        rac;                      /*<1175:  1> Container for packet switched routing area code    */
  T_PS_rai                  rai;                      /*<1176: 16> Container for packet switched routing area identification */
  U8                        rat;                      /*<1192:  1> T_PS_rat,  Radio access technology                 */
  U8                        rel_ind;                  /*<1193:  1> T_PS_rel_ind,  Local Release Indicator             */
  U8                        sapi;                     /*<1194:  1> T_PS_sapi,  Service Access Point Identifier        */
  U8                        search_mode;              /*<1195:  1> T_PS_search_mode,  Search mode for network scan    */
  T_PS_security_info        security_info;            /*<1196:128> Contains information related to ciphering and integrity protection. */
  T_PS_selected_plmn        selected_plmn;            /*<1324:  8> Selected network identifier                        */
  U32                       start_val;                /*<1332:  4> T_PS_start_val,  START value (20 bits)             */
  U8                        sim_type;                 /*<1336:  1> T_PS_sim_type,  Type of subscriber card present.   */
  U8                        _align9;                  /*<1337:  1> alignment                                          */
  U8                        _align10;                 /*<1338:  1> alignment                                          */
  U8                        _align11;                 /*<1339:  1> alignment                                          */
  T_PS_tmsi                 tmsi;                     /*<1340:  4> Container for TMSI                                 */
  U8                        tx_diversity;             /*<1344:  1> T_PS_tx_diversity,  UMTS FDD TX diversity indicator */
  U8                        _align12;                 /*<1345:  1> alignment                                          */
  U16                       uarfcn;                   /*<1346:  2> T_PS_uarfcn,  UMTS channel number                  */
  S8                        uarfcn_rssi;              /*<1348:  1> T_PS_uarfcn_rssi,  UMTS channel RSSI measurement   */
  U8                        _align13;                 /*<1349:  1> alignment                                          */
  U8                        _align14;                 /*<1350:  1> alignment                                          */
  U8                        _align15;                 /*<1351:  1> alignment                                          */
  T_PS_ul_sdus              ul_sdus;                  /*<1352:  8> Sequence numbers and mem handles pr. NSAPI         */
  T_PS_umts_cell_description umts_cell_description;   /*<1360:  8> Container for cell description information for a UMTS cell */
  T_PS_umts_ncell_list      umts_ncell_list;          /*<1368:516> UMTS neighbour cell list                           */
  T_PS_umts_ncell_measurement umts_ncell_measurement; /*<1884:  8> UMTS neighbour cell measurement result             */
  T_PS_umts_ncell_results   umts_ncell_results;       /*<1892:260> UMTS neighbour cell results                        */
  T_PS_umts_security_info   umts_security_info;       /*<2152: 96> Contains information related to UMTS ciphering and integrity protection. */
  U8                        service_level;            /*<2248:  1> T_PS_service_level,  Cell service level            */
  U8                        _align16;                 /*<2249:  1> alignment                                          */
  U8                        _align17;                 /*<2250:  1> alignment                                          */
  U8                        _align18;                 /*<2251:  1> alignment                                          */
  T_PS_ctrl_qos             ctrl_qos;                 /*<2252:  4> (enum=32bit) controller for union                  */
  T_PS_qos                  qos;                      /*<2256: 28> quality of service                                 */
  T_PS_qos_r97              qos_r97;                  /*<2284:  8> quality of service R97                             */
  T_PS_qos_r99              qos_r99;                  /*<2292: 28> quality of service R99                             */
  T_PS_ctrl_min_qos         ctrl_min_qos;             /*<2320:  4> (enum=32bit) controller for union                  */
  T_PS_min_qos              min_qos;                  /*<2324: 28> quality of service                                 */
  U16                       pkt_flow_id;              /*<2352:  2> T_PS_pkt_flow_id,  packet flow identifier          */
  U8                        _align19;                 /*<2354:  1> alignment                                          */
  U8                        _align20;                 /*<2355:  1> alignment                                          */
  T_sdu                     sdu;                      /*<2356: ? > Container for a message                            */
} T_PS_EXPORT;
#endif


#include "CDG_LEAVE.h"


#endif