FreeCalypso > hg > fc-magnetite
view cdg3/cdginc-locosto/p_sim.h @ 636:57e67ca2e1cb
pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model
The present change has no effect whatsoever on Falconia-made and Openmoko-made
devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS
with sensible ID strings by the respective factories, but what should AT+CGMI
and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem
that has been converted to FreeCalypso with a firmware change? Before the
present change they would return compiled-in defaults of "<manufacturer>" and
"<model>", respectively; with the present change the firmware will self-identify
as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets.
This firmware identification will become important if someone incorporates an
FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some
high-level software like ofono will be talking to the modem and will need to
properly identify this modem as FreeCalypso, as opposed to some other AT command
modem flavor with different quirks.
In technical terms, the compiled-in default for the AT+CGMI query (which will
always be overridden by the /pcm/CGMI file in FFS if one is present) is now
"FreeCalypso" in all configs on all targets; the compiled-in default for the
AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is
"GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the
original default of "<model>" otherwise.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 20:14:58 +0000 |
parents | c15047b3d00d |
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 Thu Sep 25 09:18:53 2014 | | !!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==3009 */ 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==3010 */ 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==3011 */ 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==3012 */ 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==3013 */ 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==3014 */ 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==3015 */ 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==3016 */ 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==3017 */ 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==3018 */ 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==3019 */ 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==3020 */ 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==3021 */ 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==3022 */ 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==3023 */ 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==3024 */ 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==3025 */ 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==3026 */ 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==3027 */ 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==3028 */ 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==3029 */ 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==3030 */ 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==3031 */ 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==3032 */ 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==3033 */ 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==3034 */ 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==3035 */ 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==3036 */ 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==3037 */ 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==3038 */ 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==3039 */ 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==3040 */ 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==3041 */ 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==3042 */ 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==3043 */ 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; /*< 92: 2> 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; /*< 94: 2> 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==3044 */ 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==3045 */ 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==3046 */ 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==3047 */ 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==3048 */ 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==3049 */ 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==3050 */ 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==3051 */ 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==3052 */ 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==3053 */ 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==3054 */ 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==3055 */ 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==3056 */ 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==3057 */ 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==3058 */ 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==3059 */ 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==3060 */ 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==3061 */ 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==3062 */ 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==3063 */ 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==3064 */ 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==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 */ 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==3066 */ 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==3067 */ 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==3068 */ 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==3069 */ 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==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_REQ; #endif #ifndef __T_SIM_EVENTLIST_CNF__ #define __T_SIM_EVENTLIST_CNF__ /* * * CCDGEN:WriteStruct_Count==3071 */ 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==3072 */ 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==3073 */ 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==3074 */ 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