view cdg211/cdginc/p_sim.h @ 629:3231dd9b38c1

armio.c: make GPIOs 8 & 13 outputs driving 1 on all "classic" targets Calypso GPIOs 8 & 13 are pinmuxed with MCUEN1 & MCUEN2, respectively, and on powerup these pins are MCUEN, i.e., outputs driving 1. TI's code for C-Sample and earlier turns them into GPIOs configured as outputs also driving 1 - so far, so good - but TI's code for BOARD 41 (which covers D-Sample, Leonardo and all real world Calypso devices derived from the latter) switches them from MCUEN to GPIOs, but then leaves them as inputs. Given that the hardware powerup state of these two pins is outputs driving 1, every Calypso board design MUST be compatible with such driving; typically these GPIO signals will be either unused and unconnected or connected as outputs driving some peripheral. Turning these pins into GPIO inputs will result in floating inputs on every reasonably-wired board, thus I am convinced that this configuration is nothing but a bug on the part of whoever wrote this code at TI. This floating input bug had already been fixed earlier for GTA modem and FCDEV3B targets; the present change makes the fix unconditional for all "classic" targets. The newly affected targets are D-Sample, Leonardo, Tango and GTM900.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 02 Jan 2020 05:38:26 +0000
parents 56abf6cf8a0b
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_sim.h                                                        |
| SOURCE  : "__out__\g23m_dfile\prim\sim.pdf"                              |
| LastModified : "2003-01-24"                                              |
| IdAndVersion : "6147.108.99.113"                                         |
| SrcFileTime  : "Thu Feb 2 12:06:02 2006"                                 |
| Generated by CCDGEN_2.5.5 on Fri Jun 08 13:59:16 2007                    |
|           !!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 _Thu_Feb_2_12_06_02_2006

#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==2069
 */
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==2070
 */
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==2071
 */
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==2072
 */
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==2073
 */
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_pref_plmn__
#define __T_pref_plmn__
/*
 * Preferred PLMN list
 * CCDGEN:WriteStruct_Count==2074
 */
typedef struct
{
  U8                        c_pref;                   /*<  0:  1> Length of preferred PLMN list                      */
  U8                        pref[MAX_PREF_PLMN];      /*<  1:240> Preferred PLMN list                                */
  U8                        _align0;                  /*<241:  1> alignment                                          */
  U8                        _align1;                  /*<242:  1> alignment                                          */
  U8                        _align2;                  /*<243:  1> alignment                                          */
} T_pref_plmn;
#endif

#ifndef __T_forb_plmn__
#define __T_forb_plmn__
/*
 * Forbidden PLMN list
 * CCDGEN:WriteStruct_Count==2075
 */
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==2076
 */
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==2077
 */
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==2078
 */
typedef struct
{
  U8                        c_rec;                    /*<  0:  1> counter                                            */
  U8                        rec[MAX_CBMID_REC];       /*<  1:255> Records in the EF(CBMID)                           */
} T_cbmid_rec;
#endif


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

#ifndef __T_SIM_READ_REQ__
#define __T_SIM_READ_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2079
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       offset;                   /*<  2:  2> offset of data field                               */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        length;                   /*<  6:  1> length of data field                               */
  U8                        max_length;               /*<  7:  1> Maximum of length                                  */
} T_SIM_READ_REQ;
#endif

#ifndef __T_SIM_READ_CNF__
#define __T_SIM_READ_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2080
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U16                       cause;                    /*<  2:  2> error code                                         */
  U8                        length;                   /*<  4:  1> length of data field                               */
  U8                        trans_data[MAX_SIM_CMD];  /*<  5:256> Transparent data content                           */
  U8                        _align0;                  /*<261:  1> alignment                                          */
  U8                        _align1;                  /*<262:  1> alignment                                          */
  U8                        _align2;                  /*<263:  1> alignment                                          */
} T_SIM_READ_CNF;
#endif

#ifndef __T_SIM_UPDATE_REQ__
#define __T_SIM_UPDATE_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2081
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       offset;                   /*<  2:  2> offset of data field                               */
  U16                       datafield;                /*<  4:  2> data field identification                          */
  U8                        length;                   /*<  6:  1> length of data field                               */
  U8                        trans_data[MAX_SIM_CMD];  /*<  7:256> Transparent data content                           */
  U8                        _align0;                  /*<263:  1> alignment                                          */
} T_SIM_UPDATE_REQ;
#endif

#ifndef __T_SIM_UPDATE_CNF__
#define __T_SIM_UPDATE_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2082
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U16                       cause;                    /*<  2:  2> error code                                         */
} T_SIM_UPDATE_CNF;
#endif

#ifndef __T_SIM_READ_RECORD_REQ__
#define __T_SIM_READ_RECORD_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2083
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  U8                        record;                   /*<  4:  1> record number                                      */
  U8                        length;                   /*<  5:  1> length of data field                               */
  U8                        _align0;                  /*<  6:  1> alignment                                          */
  U8                        _align1;                  /*<  7:  1> alignment                                          */
} T_SIM_READ_RECORD_REQ;
#endif

#ifndef __T_SIM_READ_RECORD_CNF__
#define __T_SIM_READ_RECORD_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2084
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U16                       cause;                    /*<  2:  2> error code                                         */
  U8                        record;                   /*<  4:  1> record number                                      */
  U8                        max_record;               /*<  5:  1> Maximum record number                              */
  U8                        length;                   /*<  6:  1> length of data field                               */
  U8                        linear_data[MAX_SIM_CMD]; /*<  7:256> Linear fixed data content                          */
  U8                        _align0;                  /*<263:  1> alignment                                          */
} T_SIM_READ_RECORD_CNF;
#endif

#ifndef __T_SIM_UPDATE_RECORD_REQ__
#define __T_SIM_UPDATE_RECORD_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2085
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  U8                        record;                   /*<  4:  1> record number                                      */
  U8                        length;                   /*<  5:  1> length of data field                               */
  U8                        linear_data[MAX_SIM_CMD]; /*<  6:256> Linear fixed data content                          */
  U8                        _align0;                  /*<262:  1> alignment                                          */
  U8                        _align1;                  /*<263:  1> alignment                                          */
} T_SIM_UPDATE_RECORD_REQ;
#endif

#ifndef __T_SIM_UPDATE_RECORD_CNF__
#define __T_SIM_UPDATE_RECORD_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2086
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U8                        record;                   /*<  2:  1> record number                                      */
  U8                        _align0;                  /*<  3:  1> alignment                                          */
  U16                       cause;                    /*<  4:  2> error code                                         */
  U8                        _align1;                  /*<  6:  1> alignment                                          */
  U8                        _align2;                  /*<  7:  1> alignment                                          */
} T_SIM_UPDATE_RECORD_CNF;
#endif

#ifndef __T_SIM_INCREMENT_REQ__
#define __T_SIM_INCREMENT_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2087
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  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_INCREMENT_REQ;
#endif

#ifndef __T_SIM_INCREMENT_CNF__
#define __T_SIM_INCREMENT_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2088
 */
typedef struct
{
  U16                       datafield;                /*<  0:  2> data field identification                          */
  U16                       cause;                    /*<  2:  2> error code                                         */
  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_INCREMENT_CNF;
#endif

#ifndef __T_SIM_VERIFY_PIN_REQ__
#define __T_SIM_VERIFY_PIN_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2089
 */
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==2090
 */
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==2091
 */
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==2092
 */
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==2093
 */
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==2094
 */
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==2095
 */
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==2096
 */
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==2097
 */
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==2098
 */
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==2099
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        rand[MAX_RAND];           /*<  2: 16> authentication parameter rand                      */
  U8                        cksn;                     /*< 18:  1> ciphering key sequence number                      */
  U8                        _align0;                  /*< 19:  1> alignment                                          */
} T_SIM_AUTHENTICATION_REQ;
#endif

#ifndef __T_SIM_AUTHENTICATION_CNF__
#define __T_SIM_AUTHENTICATION_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2100
 */
typedef struct
{
  U8                        sres[MAX_SRES];           /*<  0:  4> authentication parameter Sres                      */
  U8                        kc[MAX_KC];               /*<  4:  8> authentication parameter Kc                        */
} T_SIM_AUTHENTICATION_CNF;
#endif

#ifndef __T_SIM_MMI_INSERT_IND__
#define __T_SIM_MMI_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==2101
 */
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           */
  T_pref_plmn               pref_plmn;                /*< 32:244> Preferred PLMN list                                */
  U8                        phase;                    /*<276:  1> phase  of SIM card                                 */
  U8                        access_acm;               /*<277:  1> Access ACM                                         */
  U8                        access_acmmax;            /*<278:  1> Access ACMMAX                                      */
  U8                        access_puct;              /*<279:  1> Access PUCT                                        */
  T_cbmid_rec               cbmid_rec;                /*<280:256> This structure contains the CBMID records          */
} T_SIM_MMI_INSERT_IND;
#endif

#ifndef __T_SIM_MM_INSERT_IND__
#define __T_SIM_MM_INSERT_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==2102
 */
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_pref_plmn               pref_plmn;                /*< 68:244> Preferred PLMN list                                */
  T_forb_plmn               forb_plmn;                /*<312: 16> Forbidden PLMN list                                */
  U8                        phase;                    /*<328:  1> phase  of SIM card                                 */
  U8                        hplmn;                    /*<329:  1> HPLMN search period                                */
  U8                        v_act_hplmn;              /*<330:  1> valid-flag                                         */
  U8                        act_hplmn[MAX_SIM_PLMN_SIZE]; /*<331:  3> Acting HPLMN                                       */
  U8                        _align3;                  /*<334:  1> alignment                                          */
  U8                        _align4;                  /*<335:  1> alignment                                          */
} T_SIM_MM_INSERT_IND;
#endif

#ifndef __T_SIM_REMOVE_IND__
#define __T_SIM_REMOVE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==2103
 */
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==2104
 */
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                                      */
} T_SIM_MM_UPDATE_REQ;
#endif

#ifndef __T_SIM_SYNC_REQ__
#define __T_SIM_SYNC_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2105
 */
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==2106
 */
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==2107
 */
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==2108
 */
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==2109
 */
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==2110
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U8                        req_id;                   /*<  2:  1> identifies a certain SIM toolkit procedure         */
  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==2111
 */
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==2112
 */
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==2113
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        req_id;                   /*<  2:  1> identifies a certain SIM toolkit procedure         */
  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==2114
 */
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==2115
 */
typedef struct
{
  T_pref_plmn               pref_plmn;                /*<  0:244> Preferred PLMN list                                */
} T_SIM_MM_INFO_IND;
#endif

#ifndef __T_SIM_ACCESS_REQ__
#define __T_SIM_ACCESS_REQ__
/*
 * 
 * CCDGEN:WriteStruct_Count==2116
 */
typedef struct
{
  U16                       source;                   /*<  0:  2> source process                                     */
  U16                       datafield;                /*<  2:  2> data field identification                          */
  U8                        sim_command;              /*<  4:  1> SIM Command                                        */
  U8                        p1;                       /*<  5:  1> P1 Parameter                                       */
  U8                        p2;                       /*<  6:  1> P2 Parameter                                       */
  U8                        p3;                       /*<  7:  1> P3 Parameter                                       */
  U16                       c_trans_data;             /*<  8:  2> counter                                            */
  U8                        trans_data[MAX_SIM_TRANSP]; /*< 10:262> Transparent data content                           */
} T_SIM_ACCESS_REQ;
#endif

#ifndef __T_SIM_ACCESS_CNF__
#define __T_SIM_ACCESS_CNF__
/*
 * 
 * CCDGEN:WriteStruct_Count==2117
 */
typedef struct
{
  U16                       cause;                    /*<  0:  2> error code                                         */
  U8                        sw1;                      /*<  2:  1> SW1 Parameter                                      */
  U8                        sw2;                      /*<  3:  1> SW2 Parameter                                      */
  U16                       c_trans_data;             /*<  4:  2> counter                                            */
  U8                        trans_data[MAX_SIM_CMD];  /*<  6:256> Transparent data content                           */
  U8                        _align0;                  /*<262:  1> alignment                                          */
  U8                        _align1;                  /*<263:  1> alignment                                          */
} T_SIM_ACCESS_CNF;
#endif

#ifndef __T_SIM_FILE_UPDATE_IND__
#define __T_SIM_FILE_UPDATE_IND__
/*
 * 
 * CCDGEN:WriteStruct_Count==2118
 */
typedef struct
{
  U16                       val_nr;                   /*<  0:  2> valid entries of a file ID list                    */
  U16                       file_id[MAX_FILE_ID];     /*<  2:128> Identifier of an EF                                */
  U8                        _align0;                  /*<130:  1> alignment                                          */
  U8                        _align1;                  /*<131:  1> alignment                                          */
} T_SIM_FILE_UPDATE_IND;
#endif

#ifndef __T_SIM_FILE_UPDATE_RES__
#define __T_SIM_FILE_UPDATE_RES__
/*
 * 
 * CCDGEN:WriteStruct_Count==2119
 */
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==2120
 */
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==2121
 */
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==2122
 */
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==2123
 */
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==2124
 */
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==2125
 */
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==2126
 */
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==2127
 */
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==2128
 */
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==2129
 */
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==2130
 */
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==2131
 */
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==2132
 */
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==2133
 */
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