FreeCalypso > hg > fc-magnetite
view cdg-hybrid/cdginc/p_sim.h @ 600:8f50b202e81f
board preprocessor conditionals: prep for more FC hw in the future
This change eliminates the CONFIG_TARGET_FCDEV3B preprocessor symbol and
all preprocessor conditionals throughout the code base that tested for it,
replacing them with CONFIG_TARGET_FCFAM or CONFIG_TARGET_FCMODEM. These
new symbols are specified as follows:
CONFIG_TARGET_FCFAM is intended to cover all hardware designs created by
Mother Mychaela under the FreeCalypso trademark. This family will include
modem products (repackagings of the FCDEV3B, possibly with RFFE or even
RF transceiver changes), and also my desired FreeCalypso handset product.
CONFIG_TARGET_FCMODEM is intended to cover all FreeCalypso modem products
(which will be firmware-compatible with the FCDEV3B if they use TI Rita
transceiver, or will require a different fw build if we switch to one of
Silabs Aero transceivers), but not the handset product. Right now this
CONFIG_TARGET_FCMODEM preprocessor symbol is used to conditionalize
everything dealing with MCSI.
At the present moment the future of FC hardware evolution is still unknown:
it is not known whether we will ever have any beyond-FCDEV3B hardware at all
(contingent on uncertain funding), and if we do produce further FC hardware
designs, it is not known whether they will retain the same FIC modem core
(triband), if we are going to have a quadband design that still retains the
classic Rita transceiver, or if we are going to switch to Silabs Aero II
or some other transceiver. If we produce a quadband modem that still uses
Rita, it will run exactly the same fw as the FCDEV3B thanks to the way we
define TSPACT signals for the RF_FAM=12 && CONFIG_TARGET_FCFAM combination,
and the current fcdev3b build target will be renamed to fcmodem. OTOH, if
that putative quadband modem will be Aero-based, then it will require a
different fw build target, the fcdev3b target will stay as it is, and the
two targets will both define CONFIG_TARGET_FCFAM and CONFIG_TARGET_FCMODEM,
but will have different RF_FAM numbers. But no matter which way we are
going to evolve, it is not right to have conditionals on CONFIG_TARGET_FCDEV3B
in places like ACI, and the present change clears the way for future
evolution.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 01 Apr 2019 01:05:24 +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