view simtool/cmdtab.c @ 93:6041c601304d

fcsim1-mkprov: revert OTA key addition It appears that GrcardSIM2 cards (which is what we got for FCSIM1) do not support OTA after all, contrary to what we were previously led to believe by some tech support emails from Grcard - apparently those support emails and OTA descriptions referred to some other card model(s).
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 21 Apr 2021 05:38:39 +0000
parents bccf028921bb
children 3d9c50880ae7
line wrap: on
line source

/*
 * This module contains the command table for fc-simtool.
 */

#include "cmdtab.h"

extern int cmd_a38();
extern int cmd_apdu();
extern int cmd_apdu_checksw();
extern int cmd_atr();
extern int cmd_bfsearch();
extern int cmd_bfsearch_full();
extern int cmd_cd();
extern int cmd_change_chv();
extern int cmd_disable_chv1();
extern int cmd_disable_chv1_rpt();
extern int cmd_enable_chv1();
extern int cmd_enable_chv1_rpt();
extern int cmd_envelope();
extern int cmd_envelope_imm();
extern int cmd_erase_file();
extern int cmd_exec();
extern int cmd_exit();
extern int cmd_fix_sysmo_msisdn();
extern int cmd_fplmn_dump();
extern int cmd_fplmn_erase();
extern int cmd_fplmn_erase_all();
extern int cmd_fplmn_write();
extern int cmd_fplmn_write_list();
extern int cmd_get_response();
extern int cmd_grcard1_set_adm();
extern int cmd_grcard1_set_ki();
extern int cmd_grcard1_set_pin();
extern int cmd_grcard2_set_adm5();
extern int cmd_grcard2_set_adm5_hex();
extern int cmd_grcard2_set_comp128();
extern int cmd_grcard2_set_ki();
extern int cmd_grcard2_set_pin();
extern int cmd_grcard2_set_puk();
extern int cmd_grcard2_set_super();
extern int cmd_grcard2_set_super_hex();
extern int cmd_iccid();
extern int cmd_imsi();
extern int cmd_imsi_raw();
extern int cmd_inval_adn();
extern int cmd_lnd_dump();
extern int cmd_lnd_erase();
extern int cmd_lnd_restore();
extern int cmd_lnd_write();
extern int cmd_opl_dump();
extern int cmd_opl_erase();
extern int cmd_opl_write();
extern int cmd_pb_dump();
extern int cmd_pb_dump_rec();
extern int cmd_pb_erase();
extern int cmd_pb_erase_one();
extern int cmd_pb_erase_range();
extern int cmd_pb_restore();
extern int cmd_pb_update();
extern int cmd_pb_update_imm();
extern int cmd_pb_update_imm_hex();
extern int cmd_plmnsel_dump();
extern int cmd_plmnsel_erase();
extern int cmd_plmnsel_erase_all();
extern int cmd_plmnsel_write();
extern int cmd_plmnsel_write_list();
extern int cmd_pnn_dump();
extern int cmd_pnn_erase();
extern int cmd_pnn_write();
extern int cmd_readbin();
extern int cmd_readef();
extern int cmd_readrec();
extern int cmd_rehab_adn();
extern int cmd_rehab_imsi();
extern int cmd_rehab_loci();
extern int cmd_restore_file();
extern int cmd_savebin();
extern int cmd_save_sms_bin();
extern int cmd_select();
extern int cmd_sim_resp();
extern int cmd_sms_erase_all();
extern int cmd_sms_erase_one();
extern int cmd_sms_erase_range();
extern int cmd_smsp_dump();
extern int cmd_smsp_erase_all();
extern int cmd_smsp_erase_one();
extern int cmd_smsp_erase_range();
extern int cmd_smsp_restore();
extern int cmd_smsp_set();
extern int cmd_smsp_set_tag();
extern int cmd_spn();
extern int cmd_sst();
extern int cmd_sws_auth_adm1();
extern int cmd_sws_auth_pin1();
extern int cmd_sws_auth_pin2();
extern int cmd_sws_lookup();
extern int cmd_sws_pin1_disable();
extern int cmd_sws_pin1_enable();
extern int cmd_telecom_sum();
extern int cmd_terminal_profile();
extern int cmd_uicc_dir();
extern int cmd_unblock_chv();
extern int cmd_update_bin();
extern int cmd_update_bin_imm();
extern int cmd_update_rec();
extern int cmd_update_rec_fill();
extern int cmd_update_rec_imm();
extern int cmd_user_sum();
extern int cmd_verify_chv();
extern int cmd_verify_ext();
extern int cmd_verify_hex();
extern int cmd_verify_sjs1_adm1();
extern int cmd_write_acc();
extern int cmd_write_iccid();
extern int cmd_write_iccid_sh18();
extern int cmd_write_iccid_sh19();
extern int cmd_write_imsi();
extern int cmd_write_imsi_sh();
extern int cmd_write_spn();
extern int cmd_write_sst();

extern int current_ef_inval();
extern int current_ef_rehab();

struct cmdtab cmdtab[] = {
	{"a38", 1, 1, 1, cmd_a38},
	{"apdu", 1, 1, 0, cmd_apdu},
	{"apdu-checksw", 2, 2, 0, cmd_apdu_checksw},
	{"atr", 0, 0, 0, cmd_atr},
	{"bfsearch", 1, 18, 1, cmd_bfsearch},
	{"bfsearch-full", 0, 0, 1, cmd_bfsearch_full},
	{"bfsearch-mf", 0, 0, 1, cmd_bfsearch_full},
	{"cd", 1, 1, 0, cmd_cd},
	{"change-chv1", 2, 2, 0, cmd_change_chv},
	{"change-chv2", 2, 2, 0, cmd_change_chv},
	{"change-pin1", 2, 2, 0, cmd_change_chv},
	{"change-pin2", 2, 2, 0, cmd_change_chv},
	{"cur-ef-inval", 0, 0, 0, current_ef_inval},
	{"cur-ef-rehab", 0, 0, 0, current_ef_rehab},
	{"disable-chv1", 1, 1, 0, cmd_disable_chv1},
	{"disable-chv1-rpt", 1, 1, 0, cmd_disable_chv1_rpt},
	{"disable-pin1", 1, 1, 0, cmd_disable_chv1},
	{"disable-pin1-rpt", 1, 1, 0, cmd_disable_chv1_rpt},
	{"enable-chv1", 1, 1, 0, cmd_enable_chv1},
	{"enable-chv1-rpt", 1, 1, 0, cmd_enable_chv1_rpt},
	{"enable-pin1", 1, 1, 0, cmd_enable_chv1},
	{"enable-pin1-rpt", 1, 1, 0, cmd_enable_chv1_rpt},
	{"envelope", 1, 1, 0, cmd_envelope},
	{"envelope-imm", 1, 1, 0, cmd_envelope_imm},
	{"erase-file", 1, 2, 0, cmd_erase_file},
	{"exec", 1, 1, 0, cmd_exec},
	{"exit", 0, 1, 0, cmd_exit},
	{"fix-sysmo-msisdn", 0, 0, 0, cmd_fix_sysmo_msisdn},
	{"fplmn-dump", 0, 0, 1, cmd_fplmn_dump},
	{"fplmn-erase", 1, 2, 0, cmd_fplmn_erase},
	{"fplmn-erase-all", 0, 0, 0, cmd_fplmn_erase_all},
	{"fplmn-write", 2, 2, 0, cmd_fplmn_write},
	{"fplmn-write-list", 1, 1, 0, cmd_fplmn_write_list},
	{"get-response", 1, 1, 1, cmd_get_response},
	{"grcard1-set-adm1", 2, 2, 0, cmd_grcard1_set_adm},
	{"grcard1-set-adm2", 2, 2, 0, cmd_grcard1_set_adm},
	{"grcard1-set-ki", 1, 1, 0, cmd_grcard1_set_ki},
	{"grcard1-set-pin1", 2, 2, 0, cmd_grcard1_set_pin},
	{"grcard1-set-pin2", 2, 2, 0, cmd_grcard1_set_pin},
	{"grcard2-set-adm5", 1, 1, 0, cmd_grcard2_set_adm5},
	{"grcard2-set-adm5-hex", 1, 1, 0, cmd_grcard2_set_adm5_hex},
	{"grcard2-set-comp128", 1, 1, 0, cmd_grcard2_set_comp128},
	{"grcard2-set-ki", 1, 1, 0, cmd_grcard2_set_ki},
	{"grcard2-set-pin1", 1, 1, 0, cmd_grcard2_set_pin},
	{"grcard2-set-pin2", 1, 1, 0, cmd_grcard2_set_pin},
	{"grcard2-set-puk1", 1, 1, 0, cmd_grcard2_set_puk},
	{"grcard2-set-puk2", 1, 1, 0, cmd_grcard2_set_puk},
	{"grcard2-set-super", 1, 1, 0, cmd_grcard2_set_super},
	{"grcard2-set-super-hex", 1, 1, 0, cmd_grcard2_set_super_hex},
	{"iccid", 0, 0, 1, cmd_iccid},
	{"imsi", 0, 0, 1, cmd_imsi},
	{"imsi-raw", 0, 0, 1, cmd_imsi_raw},
	{"inval-adn", 0, 0, 0, cmd_inval_adn},
	{"lnd-dump", 0, 0, 1, cmd_lnd_dump},
	{"lnd-erase", 0, 0, 0, cmd_lnd_erase},
	{"lnd-restore", 1, 1, 0, cmd_lnd_restore},
	{"lnd-write", 1, 2, 0, cmd_lnd_write},
	{"opl-dump", 0, 0, 1, cmd_opl_dump},
	{"opl-erase", 1, 2, 0, cmd_opl_erase},
	{"opl-write", 5, 5, 0, cmd_opl_write},
	{"pb-dump", 1, 1, 1, cmd_pb_dump},
	{"pb-dump-rec", 2, 3, 1, cmd_pb_dump_rec},
	{"pb-erase", 1, 1, 0, cmd_pb_erase},
	{"pb-erase-one", 2, 2, 0, cmd_pb_erase_one},
	{"pb-erase-range", 3, 3, 0, cmd_pb_erase_range},
	{"pb-restore", 2, 2, 0, cmd_pb_restore},
	{"pb-update", 2, 2, 0, cmd_pb_update},
	{"pb-update-imm", 3, 4, 0, cmd_pb_update_imm},
	{"pb-update-imm-hex", 4, 4, 0, cmd_pb_update_imm_hex},
	{"plmnsel-dump", 0, 0, 1, cmd_plmnsel_dump},
	{"plmnsel-erase", 1, 2, 0, cmd_plmnsel_erase},
	{"plmnsel-erase-all", 0, 0, 0, cmd_plmnsel_erase_all},
	{"plmnsel-write", 2, 2, 0, cmd_plmnsel_write},
	{"plmnsel-write-list", 1, 1, 0, cmd_plmnsel_write_list},
	{"pnn-dump", 0, 0, 1, cmd_pnn_dump},
	{"pnn-erase", 1, 2, 0, cmd_pnn_erase},
	{"pnn-write", 2, 3, 0, cmd_pnn_write},
	{"quit", 0, 1, 0, cmd_exit},
	{"readbin", 2, 2, 1, cmd_readbin},
	{"readef", 1, 1, 1, cmd_readef},
	{"readrec", 1, 2, 1, cmd_readrec},
	{"rehab-adn", 0, 0, 0, cmd_rehab_adn},
	{"rehab-imsi", 0, 0, 0, cmd_rehab_imsi},
	{"rehab-loci", 0, 0, 0, cmd_rehab_loci},
	{"restore-file", 2, 2, 0, cmd_restore_file},
	{"savebin", 2, 2, 0, cmd_savebin},
	{"save-sms-bin", 1, 1, 0, cmd_save_sms_bin},
	{"select", 1, 1, 1, cmd_select},
	{"sim-resp", 0, 0, 1, cmd_sim_resp},
	{"sms-erase-all", 0, 0, 0, cmd_sms_erase_all},
	{"sms-erase-one", 1, 1, 0, cmd_sms_erase_one},
	{"sms-erase-range", 2, 2, 0, cmd_sms_erase_range},
	{"smsp-dump", 0, 0, 1, cmd_smsp_dump},
	{"smsp-erase-all", 0, 0, 0, cmd_smsp_erase_all},
	{"smsp-erase-one", 1, 1, 0, cmd_smsp_erase_one},
	{"smsp-erase-range", 2, 2, 0, cmd_smsp_erase_range},
	{"smsp-restore", 1, 1, 0, cmd_smsp_restore},
	{"smsp-set", 2, 6, 0, cmd_smsp_set},
	{"smsp-set-tag", 3, 7, 0, cmd_smsp_set_tag},
	{"spn", 0, 0, 1, cmd_spn},
	{"sst", 0, 0, 1, cmd_sst},
	{"sws-auth-adm1", 0, 0, 0, cmd_sws_auth_adm1},
	{"sws-auth-pin1", 0, 0, 0, cmd_sws_auth_pin1},
	{"sws-auth-pin2", 0, 0, 0, cmd_sws_auth_pin2},
	{"sws-lookup", 1, 18, 1, cmd_sws_lookup},
	{"sws-pin1-disable", 0, 0, 0, cmd_sws_pin1_disable},
	{"sws-pin1-enable", 0, 0, 0, cmd_sws_pin1_enable},
	{"telecom-sum", 0, 0, 0, cmd_telecom_sum},
	{"terminal-profile", 1, 1, 0, cmd_terminal_profile},
	{"uicc-dir", 0, 0, 1, cmd_uicc_dir},
	{"unblock-chv1", 2, 2, 0, cmd_unblock_chv},
	{"unblock-chv2", 2, 2, 0, cmd_unblock_chv},
	{"unblock-pin1", 2, 2, 0, cmd_unblock_chv},
	{"unblock-pin2", 2, 2, 0, cmd_unblock_chv},
	{"update-bin", 2, 2, 0, cmd_update_bin},
	{"update-bin-imm", 2, 2, 0, cmd_update_bin_imm},
	{"update-rec", 2, 2, 0, cmd_update_rec},
	{"update-rec-fill", 2, 2, 0, cmd_update_rec_fill},
	{"update-rec-imm", 2, 2, 0, cmd_update_rec_imm},
	{"user-sum", 0, 0, 1, cmd_user_sum},
	{"verify-chv1", 1, 1, 0, cmd_verify_chv},
	{"verify-chv2", 1, 1, 0, cmd_verify_chv},
	{"verify-ext", 2, 2, 0, cmd_verify_ext},
	{"verify-hex", 2, 2, 0, cmd_verify_hex},
	{"verify-pin1", 1, 1, 0, cmd_verify_chv},
	{"verify-pin2", 1, 1, 0, cmd_verify_chv},
	{"verify-sjs1-adm1", 1, 1, 0, cmd_verify_sjs1_adm1},
	{"write-acc", 1, 1, 0, cmd_write_acc},
	{"write-iccid", 1, 1, 0, cmd_write_iccid},
	{"write-iccid-sh18", 1, 1, 0, cmd_write_iccid_sh18},
	{"write-iccid-sh19", 1, 1, 0, cmd_write_iccid_sh19},
	{"write-imsi", 1, 1, 0, cmd_write_imsi},
	{"write-imsi-sh", 1, 1, 0, cmd_write_imsi_sh},
	{"write-spn", 2, 2, 0, cmd_write_spn},
	{"write-sst", 1, 1, 0, cmd_write_sst},
	{0, 0, 0, 0, 0}
};