view cdg-hybrid/cdginc/p_sim.h @ 557:7aad22344e77

flash autodetection made to work on FC and Pirelli targets
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Dec 2018 07:37:44 +0000
parents e7a67accfad9
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_sim.h                                                        |
| SOURCE  : "sap\sim.pdf"                                                  |
| LastModified : "2003-01-24"                                              |
| IdAndVersion : "6147.108.99.113"                                         |
| SrcFileTime  : "Fri Jul 4 11:26:04 2008"                                 |
| 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                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_SIM_H
#define P_SIM_H


#define CDG_ENTER__P_SIM_H

#define CDG_ENTER__FILENAME _P_SIM_H
#define CDG_ENTER__P_SIM_H__FILE_TYPE CDGINC
#define CDG_ENTER__P_SIM_H__LAST_MODIFIED _2003_01_24
#define CDG_ENTER__P_SIM_H__ID_AND_VERSION _6147_108_99_113

#define CDG_ENTER__P_SIM_H__SRC_FILE_TIME _Fri_Jul_4_11_26_04_2008

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_SIM_H

#undef CDG_ENTER__FILENAME


#include "p_sim.val"

#ifndef __T_imsi_field__
#define __T_imsi_field__
/*
 * international mobile subscriber identity
 * CCDGEN:WriteStruct_Count==3008
 */
typedef struct
{
  U8                        c_field;                  /*<  0:  1> length of imsi                                     */
  U8                        field[MAX_IMSI];          /*<  1:  9> imsi                                               */
  U8                        _align0;                  /*< 10:  1> alignment                                          */
  U8                        _align1;                  /*< 11:  1> alignment                                          */
} T_imsi_field;
#endif

#ifndef __T_loc_info__
#define __T_loc_info__
/*
 * location information
 * CCDGEN:WriteStruct_Count==3009
 */
typedef struct
{
  U8                        c_loc;                    /*<  0:  1> Length of Location Information                     */
  U8                        loc[MAX_LOCIGSM];         /*<  1: 11> Location Information                               */
} T_loc_info;
#endif

#ifndef __T_acc_ctrl__
#define __T_acc_ctrl__
/*
 * access control classes
 * CCDGEN:WriteStruct_Count==3010
 */
typedef struct
{
  U8                        c_acc;                    /*<  0:  1> length of access control classes                   */
  U8                        acc[2];                   /*<  1:  2> access control classes                             */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
} T_acc_ctrl;
#endif

#ifndef __T_bcch_inf__
#define __T_bcch_inf__
/*
 * BCCH information
 * CCDGEN:WriteStruct_Count==3011
 */
typedef struct
{
  U8                        c_bcch;                   /*<  0:  1> Length of bcch information                         */
  U8                        bcch[16];                 /*<  1: 16> bcch information                                   */
  U8                        _align0;                  /*< 17:  1> alignment                                          */
  U8                        _align1;                  /*< 18:  1> alignment                                          */
  U8                        _align2;                  /*< 19:  1> alignment                                          */
} T_bcch_inf;
#endif

#ifndef __T_kc_n__
#define __T_kc_n__
/*
 * Kc and cipher key sequence number
 * CCDGEN:WriteStruct_Count==3012
 */
typedef struct
{
  U8                        c_kc;                     /*<  0:  1> Length of data field                               */
  U8                        kc[MAX_KC + 1];           /*<  1:  9> authentication parameter Kc                        */
  U8                        _align0;                  /*< 10:  1> alignment                                          */
  U8                        _align1;                  /*< 11:  1> alignment                                          */
} T_kc_n;
#endif

#ifndef __T_forb_plmn__
#define __T_forb_plmn__
/*
 * Forbidden PLMN list
 * CCDGEN:WriteStruct_Count==3013
 */
typedef struct
{
  U8                        c_forb;                   /*<  0:  1> length of forbidden PLMN list                      */
  U8                        forb[12];                 /*<  1: 12> Forbidden PLMN list                                */
  U8                        _align0;                  /*< 13:  1> alignment                                          */
  U8                        _align1;                  /*< 14:  1> alignment                                          */
  U8                        _align2;                  /*< 15:  1> alignment                                          */
} T_forb_plmn;
#endif

#ifndef __T_stk_cmd__
#define __T_stk_cmd__
/*
 * SIM toolkit command
 * CCDGEN:WriteStruct_Count==3014
 */
typedef struct
{
  U16                       l_cmd;                    /*<  0:  2> command length                                     */
  U16                       o_cmd;                    /*<  2:  2> command offset                                     */
  U8                        cmd[MAX_STK_CMD];         /*<  4:256> command data                                       */
} T_stk_cmd;
#endif

#ifndef __T_gprs_loc_info__
#define __T_gprs_loc_info__
/*
 * location information
 * CCDGEN:WriteStruct_Count==3015
 */
typedef struct
{
  U8                        c_loc;                    /*<  0:  1> Length of Location Information                     */
  U8                        loc[MAX_LOCIGPRS];        /*<  1: 14> Location Information                               */
  U8                        _align0;                  /*< 15:  1> alignment                                          */
} T_gprs_loc_info;
#endif

#ifndef __T_cbmid_rec__
#define __T_cbmid_rec__
/*
 * This structure contains the CBMID records
 * CCDGEN:WriteStruct_Count==3016
 */
typedef struct
{
  U8                        c_rec;                    /*<  0:  1> counter                                            */
  U8                        rec[MAX_CBMID_REC];       /*<  1:255> Records in the EF(CBMID)                           */
} T_cbmid_rec;
#endif

#ifndef __T_path_info__
#define __T_path_info__
/*
 * Path information
 * CCDGEN:WriteStruct_Count==3017
 */
typedef struct
{
  U16                       df_level1;                /*<  0:  2> First level directory                              */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        v_df_level2;              /*<  3:  1> valid-flag                                         */
  U16                       df_level2;                /*<  4:  2> Second level directory                             */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
} T_path_info;
#endif

#ifndef __T_file_info__
#define __T_file_info__
/*
 * File Information for FILE UPDATE
 * CCDGEN:WriteStruct_Count==3018
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        v_path_info;              /*<  3:  1> valid-flag                                         */
  T_path_info               path_info;                /*<  4:  8> Path information                                   */
} T_file_info;
#endif


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

#ifndef __T_SIM_READ_REQ__
#define __T_SIM_READ_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3019
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       offset;                   /*<  2:  2> offset of data field                               */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        req_id;                   /*<  6:  1> used to uniquely identify requests to SIM          */
  U8                        length;                   /*<  7:  1> length of data field                               */
  U8                        max_length;               /*<  8:  1> Maximum of length                                  */
  U8                        _align0;                  /*<  9:  1> alignment                                          */
  U8                        _align1;                  /*< 10:  1> alignment                                          */
  U8                        v_path_info;              /*< 11:  1> valid-flag                                         */
  T_path_info               path_info;                /*< 12:  8> Path information                                   */
} T_SIM_READ_REQ;
#endif

#ifndef __T_SIM_READ_CNF__
#define __T_SIM_READ_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3020
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        length;                   /*<  3:  1> length of data field                               */
  U8                        trans_data[MAX_SIM_CMD];  /*<  4:256> Transparent data content                           */
} T_SIM_READ_CNF;
#endif

#ifndef __T_SIM_UPDATE_REQ__
#define __T_SIM_UPDATE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3021
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       offset;                   /*<  2:  2> offset of data field                               */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        req_id;                   /*<  6:  1> used to uniquely identify requests to SIM          */
  U8                        v_path_info;              /*<  7:  1> valid-flag                                         */
  T_path_info               path_info;                /*<  8:  8> Path information                                   */
  U8                        length;                   /*< 16:  1> length of data field                               */
  U8                        trans_data[MAX_SIM_CMD];  /*< 17:256> Transparent data content                           */
  U8                        _align0;                  /*<273:  1> alignment                                          */
  U8                        _align1;                  /*<274:  1> alignment                                          */
  U8                        _align2;                  /*<275:  1> alignment                                          */
} T_SIM_UPDATE_REQ;
#endif

#ifndef __T_SIM_UPDATE_CNF__
#define __T_SIM_UPDATE_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3022
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
} T_SIM_UPDATE_CNF;
#endif

#ifndef __T_SIM_READ_RECORD_REQ__
#define __T_SIM_READ_RECORD_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3023
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        record;                   /*<  2:  1> record number                                      */
  U8                        length;                   /*<  3:  1> length of data field                               */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        req_id;                   /*<  6:  1> used to uniquely identify requests to SIM          */
  U8                        v_path_info;              /*<  7:  1> valid-flag                                         */
  T_path_info               path_info;                /*<  8:  8> Path information                                   */
} T_SIM_READ_RECORD_REQ;
#endif

#ifndef __T_SIM_READ_RECORD_CNF__
#define __T_SIM_READ_RECORD_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3024
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        max_record;               /*<  3:  1> Maximum record number                              */
  U8                        length;                   /*<  4:  1> length of data field                               */
  U8                        linear_data[MAX_SIM_CMD]; /*<  5:256> Linear fixed data content                          */
  U8                        _align0;                  /*<261:  1> alignment                                          */
  U8                        _align1;                  /*<262:  1> alignment                                          */
  U8                        _align2;                  /*<263:  1> alignment                                          */
} T_SIM_READ_RECORD_CNF;
#endif

#ifndef __T_SIM_UPDATE_RECORD_REQ__
#define __T_SIM_UPDATE_RECORD_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3025
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        record;                   /*<  2:  1> record number                                      */
  U8                        req_id;                   /*<  3:  1> used to uniquely identify requests to SIM          */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        length;                   /*<  6:  1> length of data field                               */
  U8                        v_path_info;              /*<  7:  1> valid-flag                                         */
  T_path_info               path_info;                /*<  8:  8> Path information                                   */
  U8                        linear_data[MAX_SIM_CMD]; /*< 16:256> Linear fixed data content                          */
} T_SIM_UPDATE_RECORD_REQ;
#endif

#ifndef __T_SIM_UPDATE_RECORD_CNF__
#define __T_SIM_UPDATE_RECORD_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3026
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
} T_SIM_UPDATE_RECORD_CNF;
#endif

#ifndef __T_SIM_INCREMENT_REQ__
#define __T_SIM_INCREMENT_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3027
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  U8                        req_id;                   /*<  4:  1> used to uniquely identify requests to SIM          */
  U8                        length;                   /*<  5:  1> length of data field                               */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        v_path_info;              /*<  7:  1> valid-flag                                         */
  T_path_info               path_info;                /*<  8:  8> Path information                                   */
  U8                        linear_data[MAX_SIM_CMD]; /*< 16:256> Linear fixed data content                          */
} T_SIM_INCREMENT_REQ;
#endif

#ifndef __T_SIM_INCREMENT_CNF__
#define __T_SIM_INCREMENT_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3028
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        length;                   /*<  3:  1> length of data field                               */
  U8                        linear_data[MAX_SIM_CMD]; /*<  4:256> Linear fixed data content                          */
} T_SIM_INCREMENT_CNF;
#endif

#ifndef __T_SIM_VERIFY_PIN_REQ__
#define __T_SIM_VERIFY_PIN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3029
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        pin[MAX_PIN_LEN];         /*<  2:  8> personal identification number                     */
  U8                        pin_id;                   /*< 10:  1> PIN identification                                 */
  U8                        _align0;                  /*< 11:  1> alignment                                          */
} T_SIM_VERIFY_PIN_REQ;
#endif

#ifndef __T_SIM_VERIFY_PIN_CNF__
#define __T_SIM_VERIFY_PIN_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3030
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_id;                   /*<  2:  1> PIN identification                                 */
  U8                        pin_cnt;                  /*<  3:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  4:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  5:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  6:  1> PUK 2 counter                                      */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_SIM_VERIFY_PIN_CNF;
#endif

#ifndef __T_SIM_CHANGE_PIN_REQ__
#define __T_SIM_CHANGE_PIN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3031
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        old_pin[MAX_PIN_LEN];     /*<  2:  8> personal identification number                     */
  U8                        new_pin[MAX_PIN_LEN];     /*< 10:  8> personal identification number                     */
  U8                        pin_id;                   /*< 18:  1> PIN identification                                 */
  U8                        _align0;                  /*< 19:  1> alignment                                          */
} T_SIM_CHANGE_PIN_REQ;
#endif

#ifndef __T_SIM_CHANGE_PIN_CNF__
#define __T_SIM_CHANGE_PIN_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3032
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_id;                   /*<  2:  1> PIN identification                                 */
  U8                        pin_cnt;                  /*<  3:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  4:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  5:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  6:  1> PUK 2 counter                                      */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_SIM_CHANGE_PIN_CNF;
#endif

#ifndef __T_SIM_DISABLE_PIN_REQ__
#define __T_SIM_DISABLE_PIN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3033
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        pin[MAX_PIN_LEN];         /*<  2:  8> personal identification number                     */
  U8                        _align0;                  /*< 10:  1> alignment                                          */
  U8                        _align1;                  /*< 11:  1> alignment                                          */
} T_SIM_DISABLE_PIN_REQ;
#endif

#ifndef __T_SIM_DISABLE_PIN_CNF__
#define __T_SIM_DISABLE_PIN_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3034
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_cnt;                  /*<  2:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  3:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  4:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  5:  1> PUK 2 counter                                      */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        _align1;                  /*<  7:  1> alignment                                          */
} T_SIM_DISABLE_PIN_CNF;
#endif

#ifndef __T_SIM_ENABLE_PIN_REQ__
#define __T_SIM_ENABLE_PIN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3035
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        pin[MAX_PIN_LEN];         /*<  2:  8> personal identification number                     */
  U8                        _align0;                  /*< 10:  1> alignment                                          */
  U8                        _align1;                  /*< 11:  1> alignment                                          */
} T_SIM_ENABLE_PIN_REQ;
#endif

#ifndef __T_SIM_ENABLE_PIN_CNF__
#define __T_SIM_ENABLE_PIN_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3036
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_cnt;                  /*<  2:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  3:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  4:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  5:  1> PUK 2 counter                                      */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        _align1;                  /*<  7:  1> alignment                                          */
} T_SIM_ENABLE_PIN_CNF;
#endif

#ifndef __T_SIM_UNBLOCK_REQ__
#define __T_SIM_UNBLOCK_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3037
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        unblock_key[MAX_PIN_LEN]; /*<  2:  8> unblocking key                                     */
  U8                        pin[MAX_PIN_LEN];         /*< 10:  8> personal identification number                     */
  U8                        pin_id;                   /*< 18:  1> PIN identification                                 */
  U8                        _align0;                  /*< 19:  1> alignment                                          */
} T_SIM_UNBLOCK_REQ;
#endif

#ifndef __T_SIM_UNBLOCK_CNF__
#define __T_SIM_UNBLOCK_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3038
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_id;                   /*<  2:  1> PIN identification                                 */
  U8                        pin_cnt;                  /*<  3:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  4:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  5:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  6:  1> PUK 2 counter                                      */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_SIM_UNBLOCK_CNF;
#endif

#ifndef __T_SIM_AUTHENTICATION_REQ__
#define __T_SIM_AUTHENTICATION_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3039
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        cksn;                     /*<  3:  1> ciphering key sequence number                      */
  U8                        rand[MAX_RAND];           /*<  4: 16> authentication parameter rand                      */
} T_SIM_AUTHENTICATION_REQ;
#endif

#ifndef __T_SIM_AUTHENTICATION_CNF__
#define __T_SIM_AUTHENTICATION_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3040
 */
typedef struct
{
  U8                        req_id;                   /*<  0:  1> used to uniquely identify requests to SIM          */
  U8                        sres[MAX_SRES];           /*<  1:  4> authentication parameter Sres                      */
  U8                        kc[MAX_KC];               /*<  5:  8> authentication parameter Kc                        */
  U8                        _align0;                  /*< 13:  1> alignment                                          */
  U8                        _align1;                  /*< 14:  1> alignment                                          */
  U8                        _align2;                  /*< 15:  1> alignment                                          */
} T_SIM_AUTHENTICATION_CNF;
#endif

#ifndef __T_SIM_MMI_INSERT_IND__
#define __T_SIM_MMI_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3041
 */
typedef struct
{
  U8                        func;                     /*<  0:  1> SIM card functionality                             */
  U8                        sim_serv[MAX_SRV_TBL];    /*<  1: 16> SIM service table                                  */
  U8                        _align0;                  /*< 17:  1> alignment                                          */
  U8                        _align1;                  /*< 18:  1> alignment                                          */
  U8                        _align2;                  /*< 19:  1> alignment                                          */
  T_imsi_field              imsi_field;               /*< 20: 12> international mobile subscriber identity           */
  U8                        phase;                    /*< 32:  1> phase  of SIM card                                 */
  U8                        access_acm;               /*< 33:  1> Access ACM                                         */
  U8                        access_acmmax;            /*< 34:  1> Access ACMMAX                                      */
  U8                        access_puct;              /*< 35:  1> Access PUCT                                        */
  T_cbmid_rec               cbmid_rec;                /*< 36:256> This structure contains the CBMID records          */
  U8                        c_ad;                     /*<292:  1> counter                                            */
  U8                        ad[MAX_AD];               /*<293:  4> Contents of Administrative Data file               */
  U8                        _align3;                  /*<297:  1> alignment                                          */
  U8                        _align4;                  /*<298:  1> alignment                                          */
  U8                        _align5;                  /*<299:  1> alignment                                          */
} T_SIM_MMI_INSERT_IND;
#endif

#ifndef __T_SIM_MM_INSERT_IND__
#define __T_SIM_MM_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3042
 */
typedef struct
{
  U8                        c_ad;                     /*<  0:  1> counter                                            */
  U8                        ad[MAX_AD];               /*<  1:  4> Contents of Administrative Data file               */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
  T_imsi_field              imsi_field;               /*<  8: 12> international mobile subscriber identity           */
  T_loc_info                loc_info;                 /*< 20: 12> location information                               */
  T_acc_ctrl                acc_ctrl;                 /*< 32:  4> access control classes                             */
  T_bcch_inf                bcch_inf;                 /*< 36: 20> BCCH information                                   */
  T_kc_n                    kc_n;                     /*< 56: 12> Kc and cipher key sequence number                  */
  T_forb_plmn               forb_plmn;                /*< 68: 16> Forbidden PLMN list                                */
  U8                        phase;                    /*< 84:  1> phase  of SIM card                                 */
  U8                        hplmn;                    /*< 85:  1> HPLMN search period                                */
  U8                        v_act_hplmn;              /*< 86:  1> valid-flag                                         */
  U8                        act_hplmn[MAX_SIM_PLMN_SIZE]; /*< 87:  3> Acting HPLMN                                       */
  U16                       pref_plmn_list_sz;        /*< 90:  2> List size of the preferred PLMN. Size =0 means that preferred PLMN does not present. */
// ELEM-FF: REL99 
//   U16                       u_ctl_plmn_sel_actech_list_sz; /*<  0:  0> Size of the PLMN list 'User controlled PLMN Selector with Access Technology'. Size =0 means that plmn list is not present. */
// ELEM-FF: REL99 
//   U16                       o_ctl_plmn_sel_actech_list_sz; /*<  0:  0> Size of the PLMN list 'Operator controlled PLMN Selector with Access Technology'. Size =0 means that plmn list is not present. */
} T_SIM_MM_INSERT_IND;
#endif

#ifndef __T_SIM_REMOVE_IND__
#define __T_SIM_REMOVE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3043
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_SIM_REMOVE_IND;
#endif

#ifndef __T_SIM_MM_UPDATE_REQ__
#define __T_SIM_MM_UPDATE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3044
 */
typedef struct
{
  T_loc_info                loc_info;                 /*<  0: 12> location information                               */
  T_bcch_inf                bcch_inf;                 /*< 12: 20> BCCH information                                   */
  T_forb_plmn               forb_plmn;                /*< 32: 16> Forbidden PLMN list                                */
  U8                        cksn;                     /*< 48:  1> ciphering key sequence number                      */
  U8                        kc[MAX_KC];               /*< 49:  8> authentication parameter Kc                        */
  U8                        _align0;                  /*< 57:  1> alignment                                          */
  U16                       cell_identity;            /*< 58:  2> cell identity                                      */
  U8                        ef_indicator;             /*< 60:  1> EF Indicator                                       */
  U8                        _align1;                  /*< 61:  1> alignment                                          */
  U8                        _align2;                  /*< 62:  1> alignment                                          */
  U8                        _align3;                  /*< 63:  1> alignment                                          */
} T_SIM_MM_UPDATE_REQ;
#endif

#ifndef __T_SIM_SYNC_REQ__
#define __T_SIM_SYNC_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3045
 */
typedef struct
{
  U8                        synccs;                   /*<  0:  1> Synchronisation Cause                              */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_SIM_SYNC_REQ;
#endif

#ifndef __T_SIM_SYNC_CNF__
#define __T_SIM_SYNC_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3046
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_SIM_SYNC_CNF;
#endif

#ifndef __T_SIM_ACTIVATE_REQ__
#define __T_SIM_ACTIVATE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3047
 */
typedef struct
{
  U8                        proc;                     /*<  0:  1> procedure type                                     */
  U8                        mmi_pro_file;             /*<  1:  1> MMI profile                                        */
  U8                        stk_pro_file[MAX_STK_PRF]; /*<  2: 20> SIM toolkit profile                                */
  U8                        cust_mode;                /*< 22:  1> Customisation Mode                                 */
  U8                        sim_num;                  /*< 23:  1> SIM Interface Identifier                           */
  U8                        v_trmst_file;             /*< 24:  1> valid-flag                                         */
  U8                        trmst_file[MAX_TRMST];    /*< 25:  8> Terminal Support Table EF                          */
  U8                        _align0;                  /*< 33:  1> alignment                                          */
  U8                        _align1;                  /*< 34:  1> alignment                                          */
  U8                        _align2;                  /*< 35:  1> alignment                                          */
} T_SIM_ACTIVATE_REQ;
#endif

#ifndef __T_SIM_ACTIVATE_CNF__
#define __T_SIM_ACTIVATE_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3048
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_cnt;                  /*<  2:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  3:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  4:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  5:  1> PUK 2 counter                                      */
  U8                        ec_code[MAX_ECC];         /*<  6: 15> Emergency call codes                               */
  U8                        pref_lang[MAX_LNG_PREF];  /*< 21:  5> preferred languages                                */
  U8                        sim_num;                  /*< 26:  1> SIM Interface Identifier                           */
  U8                        c_atr;                    /*< 27:  1> counter                                            */
  U8                        atr[MAX_SIM_ATR];         /*< 28: 33> Answer to Reset                                    */
  U8                        _align0;                  /*< 61:  1> alignment                                          */
  U8                        _align1;                  /*< 62:  1> alignment                                          */
  U8                        _align2;                  /*< 63:  1> alignment                                          */
} T_SIM_ACTIVATE_CNF;
#endif

#ifndef __T_SIM_SMS_INSERT_IND__
#define __T_SIM_SMS_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3049
 */
typedef struct
{
  U8                        phase;                    /*<  0:  1> phase  of SIM card                                 */
  U8                        tp_mr;                    /*<  1:  1> message reference                                  */
  U8                        mem_cap_avail;            /*<  2:  1> memory capacity available flag                     */
  U8                        download_sms;             /*<  3:  1> Download SMS Flag                                  */
  U8                        smsr_mem_cap;             /*<  4:  1> Indicator for short message status report storage  */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
} T_SIM_SMS_INSERT_IND;
#endif

#ifndef __T_SIM_TOOLKIT_REQ__
#define __T_SIM_TOOLKIT_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3050
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
  T_stk_cmd                 stk_cmd;                  /*<  4:260> SIM toolkit command                                */
} T_SIM_TOOLKIT_REQ;
#endif

#ifndef __T_SIM_TOOLKIT_RES__
#define __T_SIM_TOOLKIT_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==3051
 */
typedef struct
{
  T_stk_cmd                 stk_cmd;                  /*<  0:260> SIM toolkit command                                */
} T_SIM_TOOLKIT_RES;
#endif

#ifndef __T_SIM_TOOLKIT_IND__
#define __T_SIM_TOOLKIT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3052
 */
typedef struct
{
  T_stk_cmd                 stk_cmd;                  /*<  0:260> SIM toolkit command                                */
} T_SIM_TOOLKIT_IND;
#endif

#ifndef __T_SIM_TOOLKIT_CNF__
#define __T_SIM_TOOLKIT_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3053
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
  T_stk_cmd                 stk_cmd;                  /*<  4:260> SIM toolkit command                                */
} T_SIM_TOOLKIT_CNF;
#endif

#ifndef __T_SIM_ACTIVATE_IND__
#define __T_SIM_ACTIVATE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3054
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        pin_cnt;                  /*<  2:  1> PIN counter                                        */
  U8                        puk_cnt;                  /*<  3:  1> PUK counter                                        */
  U8                        pin2_cnt;                 /*<  4:  1> PIN 2 counter                                      */
  U8                        puk2_cnt;                 /*<  5:  1> PUK 2 counter                                      */
  U8                        ec_code[MAX_ECC];         /*<  6: 15> Emergency call codes                               */
  U8                        pref_lang[MAX_LNG_PREF];  /*< 21:  5> preferred languages                                */
  U8                        c_atr;                    /*< 26:  1> counter                                            */
  U8                        atr[MAX_SIM_ATR];         /*< 27: 33> Answer to Reset                                    */
} T_SIM_ACTIVATE_IND;
#endif

#ifndef __T_SIM_MM_INFO_IND__
#define __T_SIM_MM_INFO_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3055
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_SIM_MM_INFO_IND;
#endif

#ifndef __T_SIM_ACCESS_REQ__
#define __T_SIM_ACCESS_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3056
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  U8                        req_id;                   /*<  4:  1> used to uniquely identify requests to SIM          */
  U8                        sim_command;              /*<  5:  1> SIM Command                                        */
  U8                        p1;                       /*<  6:  1> P1 Parameter                                       */
  U8                        p2;                       /*<  7:  1> P2 Parameter                                       */
  U8                        p3;                       /*<  8:  1> P3 Parameter                                       */
  U8                        _align0;                  /*<  9:  1> alignment                                          */
  U16                       c_trans_data;             /*< 10:  2> counter                                            */
  U8                        trans_data[MAX_SIM_TRANSP]; /*< 12:262> Transparent data content                           */
  U8                        _align1;                  /*<274:  1> alignment                                          */
  U8                        _align2;                  /*<275:  1> alignment                                          */
} T_SIM_ACCESS_REQ;
#endif

#ifndef __T_SIM_ACCESS_CNF__
#define __T_SIM_ACCESS_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3057
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> used to uniquely identify requests to SIM          */
  U8                        sw1;                      /*<  3:  1> SW1 Parameter                                      */
  U8                        sw2;                      /*<  4:  1> SW2 Parameter                                      */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U16                       c_trans_data;             /*<  6:  2> counter                                            */
  U8                        trans_data[MAX_SIM_CMD];  /*<  8:256> Transparent data content                           */
} T_SIM_ACCESS_CNF;
#endif

#ifndef __T_SIM_FILE_UPDATE_IND__
#define __T_SIM_FILE_UPDATE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3058
 */
typedef struct
{
  U16                       val_nr;                   /*<  0:  2> valid entries of a file ID list                    */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
  T_file_info               file_info[MAX_FILE_ID];   /*<  4:768> File Information for FILE UPDATE                   */
} T_SIM_FILE_UPDATE_IND;
#endif

#ifndef __T_SIM_FILE_UPDATE_RES__
#define __T_SIM_FILE_UPDATE_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==3059
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       fu_rsc;                   /*<  2:  2> result code for SIM_FILE_UPDATE_IND                */
} T_SIM_FILE_UPDATE_RES;
#endif

#ifndef __T_SIM_GMM_INSERT_IND__
#define __T_SIM_GMM_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3060
 */
typedef struct
{
  U8                        op_mode;                  /*<  0:  1> operation mode                                     */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
  T_imsi_field              imsi_field;               /*<  4: 12> international mobile subscriber identity           */
  T_loc_info                loc_info;                 /*< 16: 12> location information                               */
  T_gprs_loc_info           gprs_loc_info;            /*< 28: 16> location information                               */
  T_acc_ctrl                acc_ctrl;                 /*< 44:  4> access control classes                             */
  T_kc_n                    kc_n;                     /*< 48: 12> Kc and cipher key sequence number                  */
  U8                        phase;                    /*< 60:  1> phase  of SIM card                                 */
  U8                        _align3;                  /*< 61:  1> alignment                                          */
  U8                        _align4;                  /*< 62:  1> alignment                                          */
  U8                        _align5;                  /*< 63:  1> alignment                                          */
} T_SIM_GMM_INSERT_IND;
#endif

#ifndef __T_SIM_GMM_UPDATE_REQ__
#define __T_SIM_GMM_UPDATE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3061
 */
typedef struct
{
  T_gprs_loc_info           gprs_loc_info;            /*<  0: 16> location information                               */
  U8                        cksn;                     /*< 16:  1> ciphering key sequence number                      */
  U8                        kc[MAX_KC];               /*< 17:  8> authentication parameter Kc                        */
  U8                        att_status;               /*< 25:  1> GPRS IMSI attach status                            */
  U8                        _align0;                  /*< 26:  1> alignment                                          */
  U8                        _align1;                  /*< 27:  1> alignment                                          */
} T_SIM_GMM_UPDATE_REQ;
#endif

#ifndef __T_SIM_DTI_REQ__
#define __T_SIM_DTI_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3062
 */
typedef struct
{
  U32                       link_id;                  /*<  0:  4> DTI link identifier                                */
  U8                        dti_conn;                 /*<  4:  1> connection qualifier                               */
  U8                        dti_direction;            /*<  5:  1> DTI direction                                      */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        _align1;                  /*<  7:  1> alignment                                          */
  U32                       entity_name;              /*<  8:  4> DTI entity name                                    */
} T_SIM_DTI_REQ;
#endif

#ifndef __T_SIM_DTI_CNF__
#define __T_SIM_DTI_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3063
 */
typedef struct
{
  U32                       link_id;                  /*<  0:  4> DTI link identifier                                */
  U8                        dti_conn;                 /*<  4:  1> connection qualifier                               */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
} T_SIM_DTI_CNF;
#endif

#ifndef __T_SIM_BIP_REQ__
#define __T_SIM_BIP_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3064
 */
typedef struct
{
  U8                        bip_ch_id;                /*<  0:  1> BIP channel identifier                             */
  U8                        bip_conn;                 /*<  1:  1> bip connection qualifier                           */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
  U32                       release_time;             /*<  4:  4> link release timeout                               */
  U8                        add_info_result;          /*<  8:  1> additional information on result code              */
  U8                        general_result;           /*<  9:  1> general result code                                */
  U8                        _align2;                  /*< 10:  1> alignment                                          */
  U8                        _align3;                  /*< 11:  1> alignment                                          */
} T_SIM_BIP_REQ;
#endif

#ifndef __T_SIM_BIP_CNF__
#define __T_SIM_BIP_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3065
 */
typedef struct
{
  U8                        bip_ch_id;                /*<  0:  1> BIP channel identifier                             */
  U8                        bip_conn;                 /*<  1:  1> bip connection qualifier                           */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
} T_SIM_BIP_CNF;
#endif

#ifndef __T_SIM_BIP_CONFIG_REQ__
#define __T_SIM_BIP_CONFIG_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3066
 */
typedef struct
{
  U32                       local_ip;                 /*<  0:  4> local IP address                                   */
  U32                       destination_ip;           /*<  4:  4> destination IP address                             */
  U16                       destination_port;         /*<  8:  2> destination port number                            */
  U8                        con_type;                 /*< 10:  1> connection type                                    */
  U8                        _align0;                  /*< 11:  1> alignment                                          */
} T_SIM_BIP_CONFIG_REQ;
#endif

#ifndef __T_SIM_BIP_CONFIG_CNF__
#define __T_SIM_BIP_CONFIG_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3067
 */
typedef struct
{
  U8                        dummy;                    /*<  0:  1> no parameters                                      */
} T_SIM_BIP_CONFIG_CNF;
#endif

#ifndef __T_SIM_DTI_BIP_IND__
#define __T_SIM_DTI_BIP_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==3068
 */
typedef struct
{
  U32                       link_id;                  /*<  0:  4> DTI link identifier                                */
  U8                        dti_conn;                 /*<  4:  1> connection qualifier                               */
  U8                        bip_ch_id;                /*<  5:  1> BIP channel identifier                             */
  U8                        bip_conn;                 /*<  6:  1> bip connection qualifier                           */
  U8                        _align0;                  /*<  7:  1> alignment                                          */
} T_SIM_DTI_BIP_IND;
#endif

#ifndef __T_SIM_EVENTLIST_REQ__
#define __T_SIM_EVENTLIST_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3069
 */
typedef struct
{
  U8                        event_data_avail;         /*<  0:  1> data available event                               */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_SIM_EVENTLIST_REQ;
#endif

#ifndef __T_SIM_EVENTLIST_CNF__
#define __T_SIM_EVENTLIST_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3070
 */
typedef struct
{
  U8                        event_data_avail;         /*<  0:  1> data available event                               */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
} T_SIM_EVENTLIST_CNF;
#endif

#ifndef __T_SIM_TEST_REQ__
#define __T_SIM_TEST_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==3071
 */
typedef struct
{
  U8                        cla;                      /*<  0:  1> class of instruction                               */
  U8                        ins_code;                 /*<  1:  1> instruction code                                   */
  U8                        p1;                       /*<  2:  1> P1 Parameter                                       */
  U8                        p2;                       /*<  3:  1> P2 Parameter                                       */
  U8                        le;                       /*<  4:  1> length of response                                 */
  U8                        _align0;                  /*<  5:  1> alignment                                          */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
  T_stk_cmd                 stk_cmd;                  /*<  8:260> SIM toolkit command                                */
} T_SIM_TEST_REQ;
#endif

#ifndef __T_SIM_TEST_CNF__
#define __T_SIM_TEST_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==3072
 */
typedef struct
{
  U8                        sw1;                      /*<  0:  1> SW1 Parameter                                      */
  U8                        sw2;                      /*<  1:  1> SW2 Parameter                                      */
  U8                        _align0;                  /*<  2:  1> alignment                                          */
  U8                        _align1;                  /*<  3:  1> alignment                                          */
  T_stk_cmd                 stk_cmd;                  /*<  4:260> SIM toolkit command                                */
} T_SIM_TEST_CNF;
#endif

#ifndef __T_SIM_REFRESH_USER_RES__
#define __T_SIM_REFRESH_USER_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==3073
 */
typedef struct
{
  U8                        user_accepts;             /*<  0:  1> User Response                                      */
  U8                        _align0;                  /*<  1:  1> alignment                                          */
  U8                        _align1;                  /*<  2:  1> alignment                                          */
  U8                        _align2;                  /*<  3:  1> alignment                                          */
  T_stk_cmd                 stk_cmd;                  /*<  4:260> SIM toolkit command                                */
} T_SIM_REFRESH_USER_RES;
#endif


#include "CDG_LEAVE.h"


#endif