Repository: Shadytel/sim-tools Branch: master Commit: f2d80ab9e10f Files: 26 Total size: 240.9 KB Directory structure: gitextract_3xcb2gx0/ ├── .gitignore ├── README.md ├── bin/ │ ├── converter │ └── shadysim ├── javacard/ │ ├── api21_export_files/ │ │ ├── java/ │ │ │ └── lang/ │ │ │ └── javacard/ │ │ │ └── lang.exp │ │ ├── javacard/ │ │ │ ├── framework/ │ │ │ │ └── javacard/ │ │ │ │ └── framework.exp │ │ │ └── security/ │ │ │ └── javacard/ │ │ │ └── security.exp │ │ ├── javacardx/ │ │ │ └── crypto/ │ │ │ └── javacard/ │ │ │ └── crypto.exp │ │ └── sim/ │ │ ├── access/ │ │ │ └── javacard/ │ │ │ ├── access.exp │ │ │ └── access_exp.tex │ │ └── toolkit/ │ │ └── javacard/ │ │ ├── toolkit.exp │ │ └── toolkit_exp.tex │ ├── bin/ │ │ └── converter.jar │ ├── lib/ │ │ ├── api21.jar │ │ └── sim.jar │ └── makefiles/ │ └── applet-project.mk └── shadysim/ ├── pySim/ │ ├── __init__.py │ ├── cards.py │ ├── commands.py │ ├── exceptions.py │ ├── transport/ │ │ ├── __init__.py │ │ ├── pcsc.py │ │ └── serial.py │ └── utils.py ├── shadysim.py └── toorsimtool-2014.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ *.py[co] # Packages *.egg *.egg-info dist build eggs parts var sdist develop-eggs .installed.cfg # Installer logs pip-log.txt # Unit test / coverage reports .coverage .tox #Translations *.mo #Mr Developer .mr.developer.cfg ================================================ FILE: README.md ================================================ # Shadytel SIM Tools ## Creating JavaCard STK Applets Use the hello-stk example to get started. $ mkdir javacard $ cd javacard $ git clone https://github.com/Shadytel/sim-tools.git $ git clone https://github.com/Shadytel/hello-stk.git $ cd hello-stk $ make To install the applet onto a SIM card, first set the type of reader you are using. # For PCSC readers: $ export SHADYSIM_OPTIONS="--pcsc" # For USB-serial readers: $ export SHADYSIM_OPTIONS="--serialport /dev/ttyUSB0" $ make install The shadysim tool has lots of other options. $ ./sim-tools/bin/shadysim --help ================================================ FILE: bin/converter ================================================ DIR=`dirname $0` CLASSPATH=$DIR/../javacard/bin/converter.jar:$CLASSPATH JFLAGS="-classpath $CLASSPATH" java $JFLAGS com.sun.javacard.converter.Converter "$@" ================================================ FILE: bin/shadysim ================================================ #!/bin/bash DIR=`dirname $0` python $DIR/../shadysim/shadysim.py $@ ================================================ FILE: javacard/api21_export_files/sim/access/javacard/access_exp.tex ================================================ export file { // sim/access magic 00FACADE // in hex minor_version 1 major_version 2 constant_pool_count 293 constant_pool { Constant_Utf8_info { tag 1 length 6 bytes FID_MF } Constant_Utf8_info { tag 1 length 1 bytes S } Constant_Utf8_info { tag 1 length 13 bytes ConstantValue } Constant_Integer_info { tag 3 bytes 16128 } Constant_Utf8_info { tag 1 length 14 bytes FID_DF_TELECOM } Constant_Integer_info { tag 3 bytes 32528 } Constant_Utf8_info { tag 1 length 10 bytes FID_DF_GSM } Constant_Integer_info { tag 3 bytes 32544 } Constant_Utf8_info { tag 1 length 15 bytes FID_DF_DCS_1800 } Constant_Integer_info { tag 3 bytes 32545 } Constant_Utf8_info { tag 1 length 12 bytes FID_DF_IS_41 } Constant_Integer_info { tag 3 bytes 32546 } Constant_Utf8_info { tag 1 length 13 bytes FID_DF_FP_CTS } Constant_Integer_info { tag 3 bytes 32547 } Constant_Utf8_info { tag 1 length 10 bytes FID_DF_PDC } Constant_Integer_info { tag 3 bytes 32640 } Constant_Utf8_info { tag 1 length 12 bytes FID_DF_TETRA } Constant_Integer_info { tag 3 bytes 32656 } Constant_Utf8_info { tag 1 length 18 bytes FID_DF_TIA_EIA_136 } Constant_Integer_info { tag 3 bytes 32548 } Constant_Utf8_info { tag 1 length 17 bytes FID_DF_TIA_EIA_95 } Constant_Integer_info { tag 3 bytes 32549 } Constant_Utf8_info { tag 1 length 15 bytes FID_DF_Graphics } Constant_Integer_info { tag 3 bytes 24400 } Constant_Utf8_info { tag 1 length 15 bytes FID_DF_GRAPHICS } Constant_Utf8_info { tag 1 length 14 bytes FID_DF_IRIDIUM } Constant_Integer_info { tag 3 bytes 24368 } Constant_Utf8_info { tag 1 length 17 bytes FID_DF_GLOBALSTAR } Constant_Integer_info { tag 3 bytes 24369 } Constant_Utf8_info { tag 1 length 10 bytes FID_DF_ICO } Constant_Integer_info { tag 3 bytes 24370 } Constant_Utf8_info { tag 1 length 11 bytes FID_DF_ACES } Constant_Integer_info { tag 3 bytes 24371 } Constant_Utf8_info { tag 1 length 15 bytes FID_DF_PCS_1900 } Constant_Integer_info { tag 3 bytes 24384 } Constant_Utf8_info { tag 1 length 10 bytes FID_DF_CTS } Constant_Integer_info { tag 3 bytes 24416 } Constant_Utf8_info { tag 1 length 12 bytes FID_DF_SOLSA } Constant_Integer_info { tag 3 bytes 24432 } Constant_Utf8_info { tag 1 length 18 bytes FID_DF_TIA_EIA_553 } Constant_Utf8_info { tag 1 length 11 bytes FID_DF_MEXE } Constant_Integer_info { tag 3 bytes 24380 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_ICCID } Constant_Integer_info { tag 3 bytes 12258 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_ELP } Constant_Integer_info { tag 3 bytes 12037 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_ADN } Constant_Integer_info { tag 3 bytes 28474 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_FDN } Constant_Integer_info { tag 3 bytes 28475 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SMS } Constant_Integer_info { tag 3 bytes 28476 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_CCP } Constant_Integer_info { tag 3 bytes 28477 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_MSISDN } Constant_Integer_info { tag 3 bytes 28480 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_SMSP } Constant_Integer_info { tag 3 bytes 28482 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_SMSS } Constant_Integer_info { tag 3 bytes 28483 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_LND } Constant_Integer_info { tag 3 bytes 28484 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SDN } Constant_Integer_info { tag 3 bytes 28489 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_EXT1 } Constant_Integer_info { tag 3 bytes 28490 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_EXT2 } Constant_Integer_info { tag 3 bytes 28491 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_EXT3 } Constant_Integer_info { tag 3 bytes 28492 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_BDN } Constant_Integer_info { tag 3 bytes 28493 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_EXT4 } Constant_Integer_info { tag 3 bytes 28494 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_SMSR } Constant_Integer_info { tag 3 bytes 28487 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_ECCP } Constant_Integer_info { tag 3 bytes 28495 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_CMI } Constant_Integer_info { tag 3 bytes 28504 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_IMG } Constant_Integer_info { tag 3 bytes 20256 } Constant_Utf8_info { tag 1 length 9 bytes FID_EF_LP } Constant_Integer_info { tag 3 bytes 28421 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_IMSI } Constant_Integer_info { tag 3 bytes 28423 } Constant_Utf8_info { tag 1 length 9 bytes FID_EF_KC } Constant_Integer_info { tag 3 bytes 28448 } Constant_Utf8_info { tag 1 length 14 bytes FID_EF_PLMNSEL } Constant_Integer_info { tag 3 bytes 28464 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_HPLMN } Constant_Integer_info { tag 3 bytes 28465 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_ACMMAX } Constant_Integer_info { tag 3 bytes 28471 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SST } Constant_Integer_info { tag 3 bytes 28472 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_ACM } Constant_Integer_info { tag 3 bytes 28473 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_GID1 } Constant_Integer_info { tag 3 bytes 28478 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_GID2 } Constant_Integer_info { tag 3 bytes 28479 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SPN } Constant_Integer_info { tag 3 bytes 28486 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_PUCT } Constant_Integer_info { tag 3 bytes 28481 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_CBMI } Constant_Integer_info { tag 3 bytes 28485 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_BCCH } Constant_Integer_info { tag 3 bytes 28532 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_ACC } Constant_Integer_info { tag 3 bytes 28536 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_FPLMN } Constant_Integer_info { tag 3 bytes 28539 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_LOCI } Constant_Integer_info { tag 3 bytes 28542 } Constant_Utf8_info { tag 1 length 9 bytes FID_EF_AD } Constant_Integer_info { tag 3 bytes 28589 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_PHASE } Constant_Integer_info { tag 3 bytes 28590 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_VGCS } Constant_Integer_info { tag 3 bytes 28593 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_VGCSS } Constant_Integer_info { tag 3 bytes 28594 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_VBS } Constant_Integer_info { tag 3 bytes 28595 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_VBSS } Constant_Integer_info { tag 3 bytes 28596 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_EMLPP } Constant_Integer_info { tag 3 bytes 28597 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_AAEM } Constant_Integer_info { tag 3 bytes 28598 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_CBMID } Constant_Integer_info { tag 3 bytes 28488 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_ECC } Constant_Integer_info { tag 3 bytes 28599 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_CBMIR } Constant_Integer_info { tag 3 bytes 28496 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_DCK } Constant_Integer_info { tag 3 bytes 28460 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_CNL } Constant_Integer_info { tag 3 bytes 28466 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_NIA } Constant_Integer_info { tag 3 bytes 28497 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_KCGPRS } Constant_Integer_info { tag 3 bytes 28498 } Constant_Utf8_info { tag 1 length 15 bytes FID_EF_LOCIGPRS } Constant_Integer_info { tag 3 bytes 28499 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_SUME } Constant_Integer_info { tag 3 bytes 28500 } Constant_Utf8_info { tag 1 length 15 bytes FID_EF_PLMNWACT } Constant_Integer_info { tag 3 bytes 28512 } Constant_Utf8_info { tag 1 length 16 bytes FID_EF_OPLMNWACT } Constant_Integer_info { tag 3 bytes 28513 } Constant_Utf8_info { tag 1 length 16 bytes FID_EF_HPLMNWACT } Constant_Integer_info { tag 3 bytes 28514 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_CPBCCH } Constant_Integer_info { tag 3 bytes 28515 } Constant_Utf8_info { tag 1 length 14 bytes FID_EF_INVSCAN } Constant_Integer_info { tag 3 bytes 28516 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SAI } Constant_Integer_info { tag 3 bytes 20272 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SLL } Constant_Integer_info { tag 3 bytes 20273 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SID } Constant_Integer_info { tag 3 bytes 20352 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_GPI } Constant_Integer_info { tag 3 bytes 20353 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_IPC } Constant_Integer_info { tag 3 bytes 20354 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_COUNT } Constant_Integer_info { tag 3 bytes 20355 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_NSID } Constant_Integer_info { tag 3 bytes 20356 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_PSID } Constant_Integer_info { tag 3 bytes 20357 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_NETSEL } Constant_Integer_info { tag 3 bytes 20358 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_SPL } Constant_Integer_info { tag 3 bytes 20359 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_MIN } Constant_Integer_info { tag 3 bytes 20360 } Constant_Utf8_info { tag 1 length 13 bytes FID_EF_ACCOLC } Constant_Integer_info { tag 3 bytes 20361 } Constant_Utf8_info { tag 1 length 10 bytes FID_EF_FC1 } Constant_Integer_info { tag 3 bytes 20362 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_S_ESN } Constant_Integer_info { tag 3 bytes 20363 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_CSID } Constant_Integer_info { tag 3 bytes 20364 } Constant_Utf8_info { tag 1 length 17 bytes FID_EF_REG_THRESH } Constant_Integer_info { tag 3 bytes 20365 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_CCCH } Constant_Integer_info { tag 3 bytes 20366 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_LDCC } Constant_Integer_info { tag 3 bytes 20367 } Constant_Utf8_info { tag 1 length 16 bytes FID_EF_GSM_RECON } Constant_Integer_info { tag 3 bytes 20368 } Constant_Utf8_info { tag 1 length 17 bytes FID_EF_AMPS_2_GSM } Constant_Integer_info { tag 3 bytes 20369 } Constant_Utf8_info { tag 1 length 14 bytes FID_EF_AMPS_UI } Constant_Integer_info { tag 3 bytes 20371 } Constant_Utf8_info { tag 1 length 14 bytes FID_EF_MEXE_ST } Constant_Integer_info { tag 3 bytes 20288 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_ORPK } Constant_Integer_info { tag 3 bytes 20289 } Constant_Utf8_info { tag 1 length 11 bytes FID_EF_ARPK } Constant_Integer_info { tag 3 bytes 20290 } Constant_Utf8_info { tag 1 length 12 bytes FID_EF_TPRPK } Constant_Integer_info { tag 3 bytes 20291 } Constant_Utf8_info { tag 1 length 17 bytes REC_ACC_MODE_NEXT } Constant_Utf8_info { tag 1 length 1 bytes B } Constant_Integer_info { tag 3 bytes 2 } Constant_Utf8_info { tag 1 length 21 bytes REC_ACC_MODE_PREVIOUS } Constant_Integer_info { tag 3 bytes 3 } Constant_Utf8_info { tag 1 length 29 bytes REC_ACC_MODE_ABSOLUTE_CURRENT } Constant_Integer_info { tag 3 bytes 4 } Constant_Utf8_info { tag 1 length 27 bytes SEEK_FROM_BEGINNING_FORWARD } Constant_Integer_info { tag 3 bytes 0 } Constant_Utf8_info { tag 1 length 22 bytes SEEK_FROM_END_BACKWARD } Constant_Integer_info { tag 3 bytes 1 } Constant_Utf8_info { tag 1 length 22 bytes SEEK_FROM_NEXT_FORWARD } Constant_Utf8_info { tag 1 length 27 bytes SEEK_FROM_PREVIOUS_BACKWARD } Constant_Utf8_info { tag 1 length 6 bytes status } Constant_Utf8_info { tag 1 length 7 bytes ([BSS)S } Constant_Utf8_info { tag 1 length 8 bytes increase } Constant_Utf8_info { tag 1 length 9 bytes ([BS[BS)S } Constant_Utf8_info { tag 1 length 10 bytes invalidate } Constant_Utf8_info { tag 1 length 3 bytes ()V } Constant_Utf8_info { tag 1 length 12 bytes rehabilitate } Constant_Utf8_info { tag 1 length 10 bytes readRecord } Constant_Utf8_info { tag 1 length 10 bytes (SBS[BSS)S } Constant_Utf8_info { tag 1 length 12 bytes updateRecord } Constant_Utf8_info { tag 1 length 10 bytes (SBS[BSS)V } Constant_Utf8_info { tag 1 length 6 bytes select } Constant_Utf8_info { tag 1 length 8 bytes (S[BSS)S } Constant_Utf8_info { tag 1 length 4 bytes (S)V } Constant_Utf8_info { tag 1 length 4 bytes seek } Constant_Utf8_info { tag 1 length 8 bytes (B[BSS)S } Constant_Utf8_info { tag 1 length 10 bytes readBinary } Constant_Utf8_info { tag 1 length 12 bytes updateBinary } Constant_Utf8_info { tag 1 length 8 bytes (S[BSS)V } Constant_Utf8_info { tag 1 length 18 bytes sim/access/SIMView } Constant_Classref_info { tag 7 name_index 242 // sim/access/SIMView } Constant_Utf8_info { tag 1 length 16 bytes java/lang/Object } Constant_Classref_info { tag 7 name_index 244 // java/lang/Object } Constant_Utf8_info { tag 1 length 28 bytes javacard/framework/Shareable } Constant_Classref_info { tag 7 name_index 246 // javacard/framework/Shareable } Constant_Utf8_info { tag 1 length 13 bytes getTheSIMView } Constant_Utf8_info { tag 1 length 22 bytes ()Lsim/access/SIMView; } Constant_Utf8_info { tag 1 length 6 bytes equals } Constant_Utf8_info { tag 1 length 21 bytes (Ljava/lang/Object;)Z } Constant_Utf8_info { tag 1 length 20 bytes sim/access/SIMSystem } Constant_Classref_info { tag 7 name_index 252 // sim/access/SIMSystem } Constant_Utf8_info { tag 1 length 14 bytes NO_EF_SELECTED } Constant_Utf8_info { tag 1 length 17 bytes FILE_INCONSISTENT } Constant_Utf8_info { tag 1 length 16 bytes AC_NOT_FULFILLED } Constant_Utf8_info { tag 1 length 14 bytes FILE_NOT_FOUND } Constant_Utf8_info { tag 1 length 14 bytes INTERNAL_ERROR } Constant_Integer_info { tag 3 bytes 5 } Constant_Utf8_info { tag 1 length 33 bytes INVALIDATION_STATUS_CONTRADICTION } Constant_Integer_info { tag 3 bytes 6 } Constant_Utf8_info { tag 1 length 22 bytes OUT_OF_FILE_BOUNDARIES } Constant_Integer_info { tag 3 bytes 7 } Constant_Utf8_info { tag 1 length 24 bytes OUT_OF_RECORD_BOUNDARIES } Constant_Integer_info { tag 3 bytes 8 } Constant_Utf8_info { tag 1 length 27 bytes RECORD_NUMBER_NOT_AVAILABLE } Constant_Integer_info { tag 3 bytes 9 } Constant_Utf8_info { tag 1 length 12 bytes INVALID_MODE } Constant_Integer_info { tag 3 bytes 10 } Constant_Utf8_info { tag 1 length 17 bytes PATTERN_NOT_FOUND } Constant_Integer_info { tag 3 bytes 11 } Constant_Utf8_info { tag 1 length 17 bytes MAX_VALUE_REACHED } Constant_Integer_info { tag 3 bytes 12 } Constant_Utf8_info { tag 1 length 14 bytes MEMORY_PROBLEM } Constant_Integer_info { tag 3 bytes 13 } Constant_Utf8_info { tag 1 length 6 bytes } Constant_Utf8_info { tag 1 length 7 bytes throwIt } Constant_Utf8_info { tag 1 length 9 bytes getReason } Constant_Utf8_info { tag 1 length 3 bytes ()S } Constant_Utf8_info { tag 1 length 9 bytes setReason } Constant_Utf8_info { tag 1 length 27 bytes sim/access/SIMViewException } Constant_Classref_info { tag 7 name_index 281 // sim/access/SIMViewException } Constant_Utf8_info { tag 1 length 19 bytes java/lang/Throwable } Constant_Classref_info { tag 7 name_index 283 // java/lang/Throwable } Constant_Utf8_info { tag 1 length 19 bytes java/lang/Exception } Constant_Classref_info { tag 7 name_index 285 // java/lang/Exception } Constant_Utf8_info { tag 1 length 26 bytes java/lang/RuntimeException } Constant_Classref_info { tag 7 name_index 287 // java/lang/RuntimeException } Constant_Utf8_info { tag 1 length 39 bytes javacard/framework/CardRuntimeException } Constant_Classref_info { tag 7 name_index 289 // javacard/framework/CardRuntimeException } Constant_Utf8_info { tag 1 length 10 bytes sim/access } CONSTANT_Package_info { tag 13 flags 1 name_index 291 // sim/access minor_version 2 major_version 2 aid_length 16 aid 0xA0:0x0:0x0:0x0:0x9:0x0:0x3:0xFF:0xFF:0xFF:0xFF:0x89:0x10:0x71:0x0:0x1 } } this_package 292 export_class_count 3 export_classes { class_info { // sim/access/SIMView token 0 access_flags public abstract interface shareable name_index 243 // sim/access/SIMView export_supers_count 1 supers { constant_pool_index 245 // java/lang/Object } export_interfaces_count 1 interfaces { constant_pool_index 247 // javacard/framework/Shareable } export_fields_count 112 fields { field_info { token 255 access_flags public static final name_index 0 // FID_MF Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 16128 } } } field_info { token 255 access_flags public static final name_index 4 // FID_DF_TELECOM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 32528 } } } field_info { token 255 access_flags public static final name_index 6 // FID_DF_GSM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 32544 } } } field_info { token 255 access_flags public static final name_index 8 // FID_DF_DCS_1800 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 32545 } } } field_info { token 255 access_flags public static final name_index 10 // FID_DF_IS_41 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 11 // value = 32546 } } } field_info { token 255 access_flags public static final name_index 12 // FID_DF_FP_CTS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 13 // value = 32547 } } } field_info { token 255 access_flags public static final name_index 14 // FID_DF_PDC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 15 // value = 32640 } } } field_info { token 255 access_flags public static final name_index 16 // FID_DF_TETRA Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 17 // value = 32656 } } } field_info { token 255 access_flags public static final name_index 18 // FID_DF_TIA_EIA_136 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 19 // value = 32548 } } } field_info { token 255 access_flags public static final name_index 20 // FID_DF_TIA_EIA_95 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 21 // value = 32549 } } } field_info { token 255 access_flags public static final name_index 22 // FID_DF_Graphics Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 23 // value = 24400 } } } field_info { token 255 access_flags public static final name_index 24 // FID_DF_GRAPHICS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 23 // value = 24400 } } } field_info { token 255 access_flags public static final name_index 25 // FID_DF_IRIDIUM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 26 // value = 24368 } } } field_info { token 255 access_flags public static final name_index 27 // FID_DF_GLOBALSTAR Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 28 // value = 24369 } } } field_info { token 255 access_flags public static final name_index 29 // FID_DF_ICO Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 30 // value = 24370 } } } field_info { token 255 access_flags public static final name_index 31 // FID_DF_ACES Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 32 // value = 24371 } } } field_info { token 255 access_flags public static final name_index 33 // FID_DF_PCS_1900 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 34 // value = 24384 } } } field_info { token 255 access_flags public static final name_index 35 // FID_DF_CTS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 36 // value = 24416 } } } field_info { token 255 access_flags public static final name_index 37 // FID_DF_SOLSA Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 38 // value = 24432 } } } field_info { token 255 access_flags public static final name_index 39 // FID_DF_TIA_EIA_553 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 34 // value = 24384 } } } field_info { token 255 access_flags public static final name_index 40 // FID_DF_MEXE Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 24380 } } } field_info { token 255 access_flags public static final name_index 42 // FID_EF_ICCID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 43 // value = 12258 } } } field_info { token 255 access_flags public static final name_index 44 // FID_EF_ELP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 45 // value = 12037 } } } field_info { token 255 access_flags public static final name_index 46 // FID_EF_ADN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 47 // value = 28474 } } } field_info { token 255 access_flags public static final name_index 48 // FID_EF_FDN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 49 // value = 28475 } } } field_info { token 255 access_flags public static final name_index 50 // FID_EF_SMS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 51 // value = 28476 } } } field_info { token 255 access_flags public static final name_index 52 // FID_EF_CCP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 53 // value = 28477 } } } field_info { token 255 access_flags public static final name_index 54 // FID_EF_MSISDN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 55 // value = 28480 } } } field_info { token 255 access_flags public static final name_index 56 // FID_EF_SMSP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 57 // value = 28482 } } } field_info { token 255 access_flags public static final name_index 58 // FID_EF_SMSS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 59 // value = 28483 } } } field_info { token 255 access_flags public static final name_index 60 // FID_EF_LND Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 61 // value = 28484 } } } field_info { token 255 access_flags public static final name_index 62 // FID_EF_SDN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 63 // value = 28489 } } } field_info { token 255 access_flags public static final name_index 64 // FID_EF_EXT1 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 65 // value = 28490 } } } field_info { token 255 access_flags public static final name_index 66 // FID_EF_EXT2 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 67 // value = 28491 } } } field_info { token 255 access_flags public static final name_index 68 // FID_EF_EXT3 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 69 // value = 28492 } } } field_info { token 255 access_flags public static final name_index 70 // FID_EF_BDN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 71 // value = 28493 } } } field_info { token 255 access_flags public static final name_index 72 // FID_EF_EXT4 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 73 // value = 28494 } } } field_info { token 255 access_flags public static final name_index 74 // FID_EF_SMSR Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 75 // value = 28487 } } } field_info { token 255 access_flags public static final name_index 76 // FID_EF_ECCP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 77 // value = 28495 } } } field_info { token 255 access_flags public static final name_index 78 // FID_EF_CMI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 79 // value = 28504 } } } field_info { token 255 access_flags public static final name_index 80 // FID_EF_IMG Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 81 // value = 20256 } } } field_info { token 255 access_flags public static final name_index 82 // FID_EF_LP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 83 // value = 28421 } } } field_info { token 255 access_flags public static final name_index 84 // FID_EF_IMSI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 85 // value = 28423 } } } field_info { token 255 access_flags public static final name_index 86 // FID_EF_KC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 87 // value = 28448 } } } field_info { token 255 access_flags public static final name_index 88 // FID_EF_PLMNSEL Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 89 // value = 28464 } } } field_info { token 255 access_flags public static final name_index 90 // FID_EF_HPLMN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 91 // value = 28465 } } } field_info { token 255 access_flags public static final name_index 92 // FID_EF_ACMMAX Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 93 // value = 28471 } } } field_info { token 255 access_flags public static final name_index 94 // FID_EF_SST Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 95 // value = 28472 } } } field_info { token 255 access_flags public static final name_index 96 // FID_EF_ACM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 97 // value = 28473 } } } field_info { token 255 access_flags public static final name_index 98 // FID_EF_GID1 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 99 // value = 28478 } } } field_info { token 255 access_flags public static final name_index 100 // FID_EF_GID2 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 101 // value = 28479 } } } field_info { token 255 access_flags public static final name_index 102 // FID_EF_SPN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 103 // value = 28486 } } } field_info { token 255 access_flags public static final name_index 104 // FID_EF_PUCT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 105 // value = 28481 } } } field_info { token 255 access_flags public static final name_index 106 // FID_EF_CBMI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 107 // value = 28485 } } } field_info { token 255 access_flags public static final name_index 108 // FID_EF_BCCH Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 109 // value = 28532 } } } field_info { token 255 access_flags public static final name_index 110 // FID_EF_ACC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 111 // value = 28536 } } } field_info { token 255 access_flags public static final name_index 112 // FID_EF_FPLMN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 113 // value = 28539 } } } field_info { token 255 access_flags public static final name_index 114 // FID_EF_LOCI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 115 // value = 28542 } } } field_info { token 255 access_flags public static final name_index 116 // FID_EF_AD Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 117 // value = 28589 } } } field_info { token 255 access_flags public static final name_index 118 // FID_EF_PHASE Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 119 // value = 28590 } } } field_info { token 255 access_flags public static final name_index 120 // FID_EF_VGCS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 121 // value = 28593 } } } field_info { token 255 access_flags public static final name_index 122 // FID_EF_VGCSS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 123 // value = 28594 } } } field_info { token 255 access_flags public static final name_index 124 // FID_EF_VBS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 125 // value = 28595 } } } field_info { token 255 access_flags public static final name_index 126 // FID_EF_VBSS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 127 // value = 28596 } } } field_info { token 255 access_flags public static final name_index 128 // FID_EF_EMLPP Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 129 // value = 28597 } } } field_info { token 255 access_flags public static final name_index 130 // FID_EF_AAEM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 131 // value = 28598 } } } field_info { token 255 access_flags public static final name_index 132 // FID_EF_CBMID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 133 // value = 28488 } } } field_info { token 255 access_flags public static final name_index 134 // FID_EF_ECC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 135 // value = 28599 } } } field_info { token 255 access_flags public static final name_index 136 // FID_EF_CBMIR Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 137 // value = 28496 } } } field_info { token 255 access_flags public static final name_index 138 // FID_EF_DCK Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 139 // value = 28460 } } } field_info { token 255 access_flags public static final name_index 140 // FID_EF_CNL Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 141 // value = 28466 } } } field_info { token 255 access_flags public static final name_index 142 // FID_EF_NIA Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 143 // value = 28497 } } } field_info { token 255 access_flags public static final name_index 144 // FID_EF_KCGPRS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 145 // value = 28498 } } } field_info { token 255 access_flags public static final name_index 146 // FID_EF_LOCIGPRS Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 147 // value = 28499 } } } field_info { token 255 access_flags public static final name_index 148 // FID_EF_SUME Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 149 // value = 28500 } } } field_info { token 255 access_flags public static final name_index 150 // FID_EF_PLMNWACT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 151 // value = 28512 } } } field_info { token 255 access_flags public static final name_index 152 // FID_EF_OPLMNWACT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 153 // value = 28513 } } } field_info { token 255 access_flags public static final name_index 154 // FID_EF_HPLMNWACT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 155 // value = 28514 } } } field_info { token 255 access_flags public static final name_index 156 // FID_EF_CPBCCH Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 157 // value = 28515 } } } field_info { token 255 access_flags public static final name_index 158 // FID_EF_INVSCAN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 159 // value = 28516 } } } field_info { token 255 access_flags public static final name_index 160 // FID_EF_SAI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 161 // value = 20272 } } } field_info { token 255 access_flags public static final name_index 162 // FID_EF_SLL Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 163 // value = 20273 } } } field_info { token 255 access_flags public static final name_index 164 // FID_EF_SID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 165 // value = 20352 } } } field_info { token 255 access_flags public static final name_index 166 // FID_EF_GPI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 167 // value = 20353 } } } field_info { token 255 access_flags public static final name_index 168 // FID_EF_IPC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 169 // value = 20354 } } } field_info { token 255 access_flags public static final name_index 170 // FID_EF_COUNT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 171 // value = 20355 } } } field_info { token 255 access_flags public static final name_index 172 // FID_EF_NSID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 173 // value = 20356 } } } field_info { token 255 access_flags public static final name_index 174 // FID_EF_PSID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 175 // value = 20357 } } } field_info { token 255 access_flags public static final name_index 176 // FID_EF_NETSEL Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 177 // value = 20358 } } } field_info { token 255 access_flags public static final name_index 178 // FID_EF_SPL Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 179 // value = 20359 } } } field_info { token 255 access_flags public static final name_index 180 // FID_EF_MIN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 181 // value = 20360 } } } field_info { token 255 access_flags public static final name_index 182 // FID_EF_ACCOLC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 183 // value = 20361 } } } field_info { token 255 access_flags public static final name_index 184 // FID_EF_FC1 Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 185 // value = 20362 } } } field_info { token 255 access_flags public static final name_index 186 // FID_EF_S_ESN Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 187 // value = 20363 } } } field_info { token 255 access_flags public static final name_index 188 // FID_EF_CSID Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 189 // value = 20364 } } } field_info { token 255 access_flags public static final name_index 190 // FID_EF_REG_THRESH Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 191 // value = 20365 } } } field_info { token 255 access_flags public static final name_index 192 // FID_EF_CCCH Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 193 // value = 20366 } } } field_info { token 255 access_flags public static final name_index 194 // FID_EF_LDCC Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 195 // value = 20367 } } } field_info { token 255 access_flags public static final name_index 196 // FID_EF_GSM_RECON Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 197 // value = 20368 } } } field_info { token 255 access_flags public static final name_index 198 // FID_EF_AMPS_2_GSM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 199 // value = 20369 } } } field_info { token 255 access_flags public static final name_index 200 // FID_EF_AMPS_UI Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 201 // value = 20371 } } } field_info { token 255 access_flags public static final name_index 202 // FID_EF_MEXE_ST Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 203 // value = 20288 } } } field_info { token 255 access_flags public static final name_index 204 // FID_EF_ORPK Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 205 // value = 20289 } } } field_info { token 255 access_flags public static final name_index 206 // FID_EF_ARPK Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 207 // value = 20290 } } } field_info { token 255 access_flags public static final name_index 208 // FID_EF_TPRPK Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 209 // value = 20291 } } } field_info { token 255 access_flags public static final name_index 210 // REC_ACC_MODE_NEXT Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 212 // value = 2 } } } field_info { token 255 access_flags public static final name_index 213 // REC_ACC_MODE_PREVIOUS Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 214 // value = 3 } } } field_info { token 255 access_flags public static final name_index 215 // REC_ACC_MODE_ABSOLUTE_CURRENT Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 216 // value = 4 } } } field_info { token 255 access_flags public static final name_index 217 // SEEK_FROM_BEGINNING_FORWARD Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 218 // value = 0 } } } field_info { token 255 access_flags public static final name_index 219 // SEEK_FROM_END_BACKWARD Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 220 // value = 1 } } } field_info { token 255 access_flags public static final name_index 221 // SEEK_FROM_NEXT_FORWARD Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 212 // value = 2 } } } field_info { token 255 access_flags public static final name_index 222 // SEEK_FROM_PREVIOUS_BACKWARD Descriptor_Index 211 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 214 // value = 3 } } } } export_methods_count 11 methods { method_info { token 0 access_flags public abstract name_index 223 // status Descriptor_Index 224 // ([BSS)S } method_info { token 1 access_flags public abstract name_index 225 // increase Descriptor_Index 226 // ([BS[BS)S } method_info { token 2 access_flags public abstract name_index 227 // invalidate Descriptor_Index 228 // ()V } method_info { token 3 access_flags public abstract name_index 229 // rehabilitate Descriptor_Index 228 // ()V } method_info { token 4 access_flags public abstract name_index 230 // readRecord Descriptor_Index 231 // (SBS[BSS)S } method_info { token 5 access_flags public abstract name_index 232 // updateRecord Descriptor_Index 233 // (SBS[BSS)V } method_info { token 6 access_flags public abstract name_index 234 // select Descriptor_Index 235 // (S[BSS)S } method_info { token 7 access_flags public abstract name_index 234 // select Descriptor_Index 236 // (S)V } method_info { token 8 access_flags public abstract name_index 237 // seek Descriptor_Index 238 // (B[BSS)S } method_info { token 9 access_flags public abstract name_index 239 // readBinary Descriptor_Index 235 // (S[BSS)S } method_info { token 10 access_flags public abstract name_index 240 // updateBinary Descriptor_Index 241 // (S[BSS)V } } } class_info { // sim/access/SIMSystem token 1 access_flags public name_index 253 // sim/access/SIMSystem export_supers_count 1 supers { constant_pool_index 245 // java/lang/Object } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 2 methods { method_info { token 0 access_flags public static name_index 248 // getTheSIMView Descriptor_Index 249 // ()Lsim/access/SIMView; } method_info { token 0 access_flags public name_index 250 // equals Descriptor_Index 251 // (Ljava/lang/Object;)Z } } } class_info { // sim/access/SIMViewException token 2 access_flags public name_index 282 // sim/access/SIMViewException export_supers_count 5 supers { constant_pool_index 245 // java/lang/Object constant_pool_index 284 // java/lang/Throwable constant_pool_index 286 // java/lang/Exception constant_pool_index 288 // java/lang/RuntimeException constant_pool_index 290 // javacard/framework/CardRuntimeException } export_interfaces_count 0 interfaces { } export_fields_count 13 fields { field_info { token 255 access_flags public static final name_index 254 // NO_EF_SELECTED Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 220 // value = 1 } } } field_info { token 255 access_flags public static final name_index 255 // FILE_INCONSISTENT Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 212 // value = 2 } } } field_info { token 255 access_flags public static final name_index 256 // AC_NOT_FULFILLED Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 214 // value = 3 } } } field_info { token 255 access_flags public static final name_index 257 // FILE_NOT_FOUND Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 216 // value = 4 } } } field_info { token 255 access_flags public static final name_index 258 // INTERNAL_ERROR Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 259 // value = 5 } } } field_info { token 255 access_flags public static final name_index 260 // INVALIDATION_STATUS_CONTRADICTION Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 261 // value = 6 } } } field_info { token 255 access_flags public static final name_index 262 // OUT_OF_FILE_BOUNDARIES Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 263 // value = 7 } } } field_info { token 255 access_flags public static final name_index 264 // OUT_OF_RECORD_BOUNDARIES Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 265 // value = 8 } } } field_info { token 255 access_flags public static final name_index 266 // RECORD_NUMBER_NOT_AVAILABLE Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 267 // value = 9 } } } field_info { token 255 access_flags public static final name_index 268 // INVALID_MODE Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 269 // value = 10 } } } field_info { token 255 access_flags public static final name_index 270 // PATTERN_NOT_FOUND Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 271 // value = 11 } } } field_info { token 255 access_flags public static final name_index 272 // MAX_VALUE_REACHED Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 273 // value = 12 } } } field_info { token 255 access_flags public static final name_index 274 // MEMORY_PROBLEM Descriptor_Index 1 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 275 // value = 13 } } } } export_methods_count 5 methods { method_info { token 0 access_flags public name_index 276 // Descriptor_Index 236 // (S)V } method_info { token 1 access_flags public static name_index 277 // throwIt Descriptor_Index 236 // (S)V } method_info { token 0 access_flags public name_index 250 // equals Descriptor_Index 251 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 278 // getReason Descriptor_Index 279 // ()S } method_info { token 2 access_flags public name_index 280 // setReason Descriptor_Index 236 // (S)V } } } } } ================================================ FILE: javacard/api21_export_files/sim/toolkit/javacard/toolkit_exp.tex ================================================ export file { // sim/toolkit magic 00FACADE // in hex minor_version 1 major_version 2 constant_pool_count 415 constant_pool { Constant_Utf8_info { tag 1 length 22 bytes EVENT_PROFILE_DOWNLOAD } Constant_Utf8_info { tag 1 length 1 bytes B } Constant_Utf8_info { tag 1 length 13 bytes ConstantValue } Constant_Integer_info { tag 3 bytes 1 } Constant_Utf8_info { tag 1 length 26 bytes EVENT_FORMATTED_SMS_PP_ENV } Constant_Integer_info { tag 3 bytes 2 } Constant_Utf8_info { tag 1 length 26 bytes EVENT_FORMATTED_SMS_PP_UPD } Constant_Integer_info { tag 3 bytes 3 } Constant_Utf8_info { tag 1 length 28 bytes EVENT_UNFORMATTED_SMS_PP_ENV } Constant_Integer_info { tag 3 bytes 4 } Constant_Utf8_info { tag 1 length 28 bytes EVENT_UNFORMATTED_SMS_PP_UPD } Constant_Integer_info { tag 3 bytes 5 } Constant_Utf8_info { tag 1 length 24 bytes EVENT_UNFORMATTED_SMS_CB } Constant_Integer_info { tag 3 bytes 6 } Constant_Utf8_info { tag 1 length 20 bytes EVENT_MENU_SELECTION } Constant_Integer_info { tag 3 bytes 7 } Constant_Utf8_info { tag 1 length 33 bytes EVENT_MENU_SELECTION_HELP_REQUEST } Constant_Integer_info { tag 3 bytes 8 } Constant_Utf8_info { tag 1 length 25 bytes EVENT_CALL_CONTROL_BY_SIM } Constant_Integer_info { tag 3 bytes 9 } Constant_Utf8_info { tag 1 length 37 bytes EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM } Constant_Integer_info { tag 3 bytes 10 } Constant_Utf8_info { tag 1 length 22 bytes EVENT_TIMER_EXPIRATION } Constant_Integer_info { tag 3 bytes 11 } Constant_Utf8_info { tag 1 length 28 bytes EVENT_EVENT_DOWNLOAD_MT_CALL } Constant_Integer_info { tag 3 bytes 12 } Constant_Utf8_info { tag 1 length 35 bytes EVENT_EVENT_DOWNLOAD_CALL_CONNECTED } Constant_Integer_info { tag 3 bytes 13 } Constant_Utf8_info { tag 1 length 38 bytes EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED } Constant_Integer_info { tag 3 bytes 14 } Constant_Utf8_info { tag 1 length 36 bytes EVENT_EVENT_DOWNLOAD_LOCATION_STATUS } Constant_Integer_info { tag 3 bytes 15 } Constant_Utf8_info { tag 1 length 34 bytes EVENT_EVENT_DOWNLOAD_USER_ACTIVITY } Constant_Integer_info { tag 3 bytes 16 } Constant_Utf8_info { tag 1 length 42 bytes EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE } Constant_Integer_info { tag 3 bytes 17 } Constant_Utf8_info { tag 1 length 39 bytes EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS } Constant_Integer_info { tag 3 bytes 18 } Constant_Utf8_info { tag 1 length 20 bytes EVENT_STATUS_COMMAND } Constant_Integer_info { tag 3 bytes 19 } Constant_Utf8_info { tag 1 length 39 bytes EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION } Constant_Integer_info { tag 3 bytes 20 } Constant_Utf8_info { tag 1 length 40 bytes EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION } Constant_Integer_info { tag 3 bytes 21 } Constant_Utf8_info { tag 1 length 35 bytes EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE } Constant_Integer_info { tag 3 bytes 22 } Constant_Utf8_info { tag 1 length 35 bytes EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS } Constant_Integer_info { tag 3 bytes 23 } Constant_Utf8_info { tag 1 length 22 bytes EVENT_FORMATTED_SMS_CB } Constant_Integer_info { tag 3 bytes 24 } Constant_Utf8_info { tag 1 length 32 bytes EVENT_FIRST_COMMAND_AFTER_SELECT } Constant_Integer_info { tag 3 bytes 127 } Constant_Utf8_info { tag 1 length 27 bytes EVENT_UNRECOGNIZED_ENVELOPE } Constant_Integer_info { tag 3 bytes -1 } Constant_Utf8_info { tag 1 length 26 bytes BTAG_PROACTIVE_SIM_COMMAND } Constant_Integer_info { tag 3 bytes -48 } Constant_Utf8_info { tag 1 length 21 bytes BTAG_SMS_PP_DOWNWLOAD } Constant_Integer_info { tag 3 bytes -47 } Constant_Utf8_info { tag 1 length 20 bytes BTAG_SMS_PP_DOWNLOAD } Constant_Utf8_info { tag 1 length 28 bytes BTAG_CELL_BROADCAST_DOWNLOAD } Constant_Integer_info { tag 3 bytes -46 } Constant_Utf8_info { tag 1 length 19 bytes BTAG_MENU_SELECTION } Constant_Integer_info { tag 3 bytes -45 } Constant_Utf8_info { tag 1 length 17 bytes BTAG_CALL_CONTROL } Constant_Integer_info { tag 3 bytes -44 } Constant_Utf8_info { tag 1 length 29 bytes BTAG_MO_SHORT_MESSAGE_CONTROL } Constant_Integer_info { tag 3 bytes -43 } Constant_Utf8_info { tag 1 length 19 bytes BTAG_EVENT_DOWNLOAD } Constant_Integer_info { tag 3 bytes -42 } Constant_Utf8_info { tag 1 length 21 bytes BTAG_TIMER_EXPIRATION } Constant_Integer_info { tag 3 bytes -41 } Constant_Utf8_info { tag 1 length 19 bytes TAG_COMMAND_DETAILS } Constant_Utf8_info { tag 1 length 21 bytes TAG_DEVICE_IDENTITIES } Constant_Utf8_info { tag 1 length 10 bytes TAG_RESULT } Constant_Utf8_info { tag 1 length 12 bytes TAG_DURATION } Constant_Utf8_info { tag 1 length 20 bytes TAG_ALPHA_IDENTIFIER } Constant_Utf8_info { tag 1 length 11 bytes TAG_ADDRESS } Constant_Utf8_info { tag 1 length 39 bytes TAG_CAPABILITY_CONFIGURATION_PARAMETERS } Constant_Utf8_info { tag 1 length 27 bytes TAG_CALLED_PARTY_SUBADDRESS } Constant_Utf8_info { tag 1 length 13 bytes TAG_SS_STRING } Constant_Utf8_info { tag 1 length 15 bytes TAG_USSD_STRING } Constant_Utf8_info { tag 1 length 12 bytes TAG_SMS_TPDU } Constant_Utf8_info { tag 1 length 23 bytes TAG_CELL_BROADCAST_PAGE } Constant_Utf8_info { tag 1 length 15 bytes TAG_TEXT_STRING } Constant_Utf8_info { tag 1 length 8 bytes TAG_TONE } Constant_Utf8_info { tag 1 length 8 bytes TAG_ITEM } Constant_Utf8_info { tag 1 length 19 bytes TAG_ITEM_IDENTIFIER } Constant_Utf8_info { tag 1 length 19 bytes TAG_RESPONSE_LENGTH } Constant_Utf8_info { tag 1 length 13 bytes TAG_FILE_LIST } Constant_Utf8_info { tag 1 length 24 bytes TAG_LOCATION_INFORMATION } Constant_Utf8_info { tag 1 length 8 bytes TAG_IMEI } Constant_Utf8_info { tag 1 length 16 bytes TAG_HELP_REQUEST } Constant_Utf8_info { tag 1 length 31 bytes TAG_NETWORK_MEASUREMENT_RESULTS } Constant_Utf8_info { tag 1 length 16 bytes TAG_DEFAULT_TEXT } Constant_Utf8_info { tag 1 length 31 bytes TAG_ITEMS_NEXT_ACTION_INDICATOR } Constant_Utf8_info { tag 1 length 14 bytes TAG_EVENT_LIST } Constant_Integer_info { tag 3 bytes 25 } Constant_Utf8_info { tag 1 length 9 bytes TAG_CAUSE } Constant_Integer_info { tag 3 bytes 26 } Constant_Utf8_info { tag 1 length 19 bytes TAG_LOCATION_STATUS } Constant_Integer_info { tag 3 bytes 27 } Constant_Utf8_info { tag 1 length 26 bytes TAG_TRANSACTION_IDENTIFIER } Constant_Integer_info { tag 3 bytes 28 } Constant_Utf8_info { tag 1 length 21 bytes TAG_BCCH_CHANNEL_LIST } Constant_Integer_info { tag 3 bytes 29 } Constant_Utf8_info { tag 1 length 19 bytes TAG_ICON_IDENTIFIER } Constant_Integer_info { tag 3 bytes 30 } Constant_Utf8_info { tag 1 length 29 bytes TAG_ITEM_ICON_IDENTIFIER_LIST } Constant_Integer_info { tag 3 bytes 31 } Constant_Utf8_info { tag 1 length 22 bytes TAG_CARD_READER_STATUS } Constant_Integer_info { tag 3 bytes 32 } Constant_Utf8_info { tag 1 length 12 bytes TAG_CARD_ATR } Constant_Integer_info { tag 3 bytes 33 } Constant_Utf8_info { tag 1 length 10 bytes TAG_C_APDU } Constant_Integer_info { tag 3 bytes 34 } Constant_Utf8_info { tag 1 length 10 bytes TAG_R_APDU } Constant_Integer_info { tag 3 bytes 35 } Constant_Utf8_info { tag 1 length 20 bytes TAG_TIMER_IDENTIFIER } Constant_Integer_info { tag 3 bytes 36 } Constant_Utf8_info { tag 1 length 15 bytes TAG_TIMER_VALUE } Constant_Integer_info { tag 3 bytes 37 } Constant_Utf8_info { tag 1 length 27 bytes TAG_DATE_TIME_AND_TIME_ZONE } Constant_Integer_info { tag 3 bytes 38 } Constant_Utf8_info { tag 1 length 33 bytes TAG_CALL_CONTROL_REQUESTED_ACTION } Constant_Integer_info { tag 3 bytes 39 } Constant_Utf8_info { tag 1 length 14 bytes TAG_AT_COMMAND } Constant_Integer_info { tag 3 bytes 40 } Constant_Utf8_info { tag 1 length 15 bytes TAG_AT_RESPONSE } Constant_Integer_info { tag 3 bytes 41 } Constant_Utf8_info { tag 1 length 23 bytes TAG_BC_REPEAT_INDICATOR } Constant_Integer_info { tag 3 bytes 42 } Constant_Utf8_info { tag 1 length 22 bytes TAG_IMMEDIATE_RESPONSE } Constant_Integer_info { tag 3 bytes 43 } Constant_Utf8_info { tag 1 length 15 bytes TAG_DTMF_STRING } Constant_Integer_info { tag 3 bytes 44 } Constant_Utf8_info { tag 1 length 12 bytes TAG_LANGUAGE } Constant_Integer_info { tag 3 bytes 45 } Constant_Utf8_info { tag 1 length 18 bytes TAG_TIMING_ADVANCE } Constant_Integer_info { tag 3 bytes 46 } Constant_Utf8_info { tag 1 length 20 bytes TAG_BROWSER_IDENTITY } Constant_Integer_info { tag 3 bytes 48 } Constant_Utf8_info { tag 1 length 7 bytes TAG_URL } Constant_Integer_info { tag 3 bytes 49 } Constant_Utf8_info { tag 1 length 10 bytes TAG_BEARER } Constant_Integer_info { tag 3 bytes 50 } Constant_Utf8_info { tag 1 length 31 bytes TAG_PROVISIONING_REFERENCE_FILE } Constant_Integer_info { tag 3 bytes 51 } Constant_Utf8_info { tag 1 length 29 bytes TAG_BROWSER_TERMINATION_CAUSE } Constant_Integer_info { tag 3 bytes 52 } Constant_Utf8_info { tag 1 length 22 bytes TAG_BEARER_DESCRIPTION } Constant_Integer_info { tag 3 bytes 53 } Constant_Utf8_info { tag 1 length 16 bytes TAG_CHANNEL_DATA } Constant_Integer_info { tag 3 bytes 54 } Constant_Utf8_info { tag 1 length 23 bytes TAG_CHANNEL_DATA_LENGTH } Constant_Integer_info { tag 3 bytes 55 } Constant_Utf8_info { tag 1 length 18 bytes TAG_CHANNEL_STATUS } Constant_Integer_info { tag 3 bytes 56 } Constant_Utf8_info { tag 1 length 15 bytes TAG_BUFFER_SIZE } Constant_Integer_info { tag 3 bytes 57 } Constant_Utf8_info { tag 1 length 26 bytes TAG_CARD_READER_IDENTIFIER } Constant_Integer_info { tag 3 bytes 58 } Constant_Utf8_info { tag 1 length 36 bytes TAG_SIM_ME_INTERFACE_TRANSPORT_LEVEL } Constant_Integer_info { tag 3 bytes 60 } Constant_Utf8_info { tag 1 length 17 bytes TAG_OTHER_ADDRESS } Constant_Integer_info { tag 3 bytes 62 } Constant_Utf8_info { tag 1 length 23 bytes TAG_NETWORK_ACCESS_NAME } Constant_Integer_info { tag 3 bytes 71 } Constant_Utf8_info { tag 1 length 10 bytes TAG_SET_CR } Constant_Integer_info { tag 3 bytes -128 } Constant_Utf8_info { tag 1 length 13 bytes TAG_SET_NO_CR } Constant_Utf8_info { tag 1 length 23 bytes TLV_LENGTH_CODED_2BYTES } Constant_Integer_info { tag 3 bytes -127 } Constant_Utf8_info { tag 1 length 13 bytes TLV_NOT_FOUND } Constant_Integer_info { tag 3 bytes 0 } Constant_Utf8_info { tag 1 length 16 bytes TLV_FOUND_CR_SET } Constant_Utf8_info { tag 1 length 20 bytes TLV_FOUND_CR_NOT_SET } Constant_Utf8_info { tag 1 length 15 bytes PRO_CMD_REFRESH } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_MORE_TIME } Constant_Utf8_info { tag 1 length 19 bytes PRO_CMD_SET_UP_CALL } Constant_Utf8_info { tag 1 length 15 bytes PRO_CMD_SEND_SS } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_SEND_USSD } Constant_Utf8_info { tag 1 length 26 bytes PRO_CMD_SEND_SHORT_MESSAGE } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_SEND_DTMF } Constant_Utf8_info { tag 1 length 22 bytes PRO_CMD_LAUNCH_BROWSER } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_PLAY_TONE } Constant_Utf8_info { tag 1 length 20 bytes PRO_CMD_DISPLAY_TEXT } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_GET_INKEY } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_GET_INPUT } Constant_Utf8_info { tag 1 length 19 bytes PRO_CMD_SELECT_ITEM } Constant_Utf8_info { tag 1 length 33 bytes PRO_CMD_PROVIDE_LOCAL_INFORMATION } Constant_Utf8_info { tag 1 length 24 bytes PRO_CMD_TIMER_MANAGEMENT } Constant_Utf8_info { tag 1 length 29 bytes PRO_CMD_SET_UP_IDLE_MODE_TEXT } Constant_Utf8_info { tag 1 length 25 bytes PRO_CMD_PERFORM_CARD_APDU } Constant_Utf8_info { tag 1 length 21 bytes PRO_CMD_POWER_ON_CARD } Constant_Utf8_info { tag 1 length 22 bytes PRO_CMD_POWER_OFF_CARD } Constant_Utf8_info { tag 1 length 25 bytes PRO_CMD_GET_READER_STATUS } Constant_Utf8_info { tag 1 length 22 bytes PRO_CMD_RUN_AT_COMMAND } Constant_Utf8_info { tag 1 length 29 bytes PRO_CMD_LANGUAGE_NOTIFICATION } Constant_Utf8_info { tag 1 length 20 bytes PRO_CMD_OPEN_CHANNEL } Constant_Integer_info { tag 3 bytes 64 } Constant_Utf8_info { tag 1 length 21 bytes PRO_CMD_CLOSE_CHANNEL } Constant_Integer_info { tag 3 bytes 65 } Constant_Utf8_info { tag 1 length 20 bytes PRO_CMD_RECEIVE_DATA } Constant_Integer_info { tag 3 bytes 66 } Constant_Utf8_info { tag 1 length 17 bytes PRO_CMD_SEND_DATA } Constant_Integer_info { tag 3 bytes 67 } Constant_Utf8_info { tag 1 length 26 bytes PRO_CMD_GET_CHANNEL_STATUS } Constant_Integer_info { tag 3 bytes 68 } Constant_Utf8_info { tag 1 length 13 bytes DEV_ID_KEYPAD } Constant_Utf8_info { tag 1 length 14 bytes DEV_ID_DISPLAY } Constant_Utf8_info { tag 1 length 15 bytes DEV_ID_EARPIECE } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_0 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_1 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_2 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_3 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_4 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_5 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_6 } Constant_Utf8_info { tag 1 length 31 bytes DEV_ID_ADDITIONAL_CARD_READER_7 } Constant_Utf8_info { tag 1 length 19 bytes DEV_ID_CHANNEL_BASE } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_1 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_2 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_3 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_4 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_5 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_6 } Constant_Utf8_info { tag 1 length 16 bytes DEV_ID_CHANNEL_7 } Constant_Utf8_info { tag 1 length 10 bytes DEV_ID_SIM } Constant_Utf8_info { tag 1 length 9 bytes DEV_ID_ME } Constant_Integer_info { tag 3 bytes -126 } Constant_Utf8_info { tag 1 length 14 bytes DEV_ID_NETWORK } Constant_Integer_info { tag 3 bytes -125 } Constant_Utf8_info { tag 1 length 20 bytes DCS_DEFAULT_ALPHABET } Constant_Utf8_info { tag 1 length 14 bytes DCS_8_BIT_DATA } Constant_Utf8_info { tag 1 length 8 bytes DCS_UCS2 } Constant_Utf8_info { tag 1 length 12 bytes SW1_RP_ERROR } Constant_Integer_info { tag 3 bytes -98 } Constant_Utf8_info { tag 1 length 10 bytes SW1_RP_ACK } Constant_Integer_info { tag 3 bytes -97 } Constant_Utf8_info { tag 1 length 16 bytes POLL_NO_DURATION } Constant_Utf8_info { tag 1 length 20 bytes POLL_SYSTEM_DURATION } Constant_Utf8_info { tag 1 length 12 bytes RES_CMD_PERF } Constant_Utf8_info { tag 1 length 26 bytes RES_CMD_PERF_PARTIAL_COMPR } Constant_Utf8_info { tag 1 length 25 bytes RES_CMD_PERF_MISSING_INFO } Constant_Utf8_info { tag 1 length 32 bytes RES_CMD_PERF_REFRESH_ADD_EF_READ } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_REQ_ICON_NOT_DISP } Constant_Utf8_info { tag 1 length 25 bytes RES_CMD_PERF_MODIF_CC_SIM } Constant_Utf8_info { tag 1 length 28 bytes RES_CMD_PERF_LIMITED_SERVICE } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_WITH_MODIFICATION } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_SESSION_TERM_USER } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_BACKWARD_MOVE_REQ } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_NO_RESP_FROM_USER } Constant_Utf8_info { tag 1 length 26 bytes RES_CMD_PERF_HELP_INFO_REQ } Constant_Utf8_info { tag 1 length 30 bytes RES_CMD_PERF_USSD_TRANSAC_TERM } Constant_Utf8_info { tag 1 length 26 bytes RES_TEMP_PB_ME_UNABLE_PROC } Constant_Utf8_info { tag 1 length 29 bytes RES_TEMP_PB_SESSION_TERM_USER } Constant_Utf8_info { tag 1 length 32 bytes RES_TEMP_PB_USER_REJECT_CALL_REQ } Constant_Utf8_info { tag 1 length 27 bytes RES_TEMP_PB_USER_CLEAR_CALL } Constant_Utf8_info { tag 1 length 32 bytes RES_TEMP_PB_IN_CONTR_TIMER_STATE } Constant_Utf8_info { tag 1 length 30 bytes RES_TEMP_PB_INTERACT_CC_BY_SIM } Constant_Utf8_info { tag 1 length 26 bytes RES_TEMP_PB_LAUNCH_BROWSER } Constant_Utf8_info { tag 1 length 29 bytes RES_ERROR_CMD_BEYOND_ME_CAPAB } Constant_Utf8_info { tag 1 length 32 bytes RES_ERROR_CMD_TYP_NOT_UNDERSTOOD } Constant_Utf8_info { tag 1 length 33 bytes RES_ERROR_CMD_DATA_NOT_UNDERSTOOD } Constant_Utf8_info { tag 1 length 30 bytes RES_ERROR_CMD_NUMBER_NOT_KNOWN } Constant_Utf8_info { tag 1 length 25 bytes RES_ERROR_SS_RETURN_ERROR } Constant_Utf8_info { tag 1 length 22 bytes RES_ERROR_SMS_RP_ERROR } Constant_Utf8_info { tag 1 length 25 bytes RES_ERROR_REQ_VALUES_MISS } Constant_Utf8_info { tag 1 length 27 bytes RES_ERROR_USSD_RETURN_ERROR } Constant_Utf8_info { tag 1 length 29 bytes RES_ERROR_MULTIPLE_CARD_ERROR } Constant_Utf8_info { tag 1 length 34 bytes RES_ERROR_INTERACT_CC_SMSMO_BY_SIM } Constant_Utf8_info { tag 1 length 43 bytes RES_ERROR_BEARER_INDEPENDENT_PROTOCOL_ERROR } Constant_Utf8_info { tag 1 length 28 bytes sim/toolkit/ToolkitConstants } Constant_Classref_info { tag 7 name_index 272 // sim/toolkit/ToolkitConstants } Constant_Utf8_info { tag 1 length 16 bytes java/lang/Object } Constant_Classref_info { tag 7 name_index 274 // java/lang/Object } Constant_Utf8_info { tag 1 length 14 bytes processToolkit } Constant_Utf8_info { tag 1 length 4 bytes (B)V } Constant_Utf8_info { tag 1 length 28 bytes sim/toolkit/ToolkitInterface } Constant_Classref_info { tag 7 name_index 278 // sim/toolkit/ToolkitInterface } Constant_Utf8_info { tag 1 length 28 bytes javacard/framework/Shareable } Constant_Classref_info { tag 7 name_index 280 // javacard/framework/Shareable } Constant_Utf8_info { tag 1 length 6 bytes equals } Constant_Utf8_info { tag 1 length 21 bytes (Ljava/lang/Object;)Z } Constant_Utf8_info { tag 1 length 7 bytes findTLV } Constant_Utf8_info { tag 1 length 5 bytes (BB)B } Constant_Utf8_info { tag 1 length 9 bytes copyValue } Constant_Utf8_info { tag 1 length 8 bytes (S[BSS)S } Constant_Utf8_info { tag 1 length 12 bytes compareValue } Constant_Utf8_info { tag 1 length 8 bytes (S[BSS)B } Constant_Utf8_info { tag 1 length 12 bytes getValueByte } Constant_Utf8_info { tag 1 length 4 bytes (S)B } Constant_Utf8_info { tag 1 length 16 bytes findAndCopyValue } Constant_Utf8_info { tag 1 length 7 bytes (B[BS)S } Constant_Utf8_info { tag 1 length 10 bytes (BBS[BSS)S } Constant_Utf8_info { tag 1 length 19 bytes findAndCompareValue } Constant_Utf8_info { tag 1 length 7 bytes (B[BS)B } Constant_Utf8_info { tag 1 length 10 bytes (BBS[BSS)B } Constant_Utf8_info { tag 1 length 4 bytes copy } Constant_Utf8_info { tag 1 length 7 bytes ([BSS)S } Constant_Utf8_info { tag 1 length 9 bytes getLength } Constant_Utf8_info { tag 1 length 3 bytes ()S } Constant_Utf8_info { tag 1 length 14 bytes getValueLength } Constant_Utf8_info { tag 1 length 23 bytes sim/toolkit/ViewHandler } Constant_Classref_info { tag 7 name_index 303 // sim/toolkit/ViewHandler } Constant_Utf8_info { tag 1 length 5 bytes check } Constant_Utf8_info { tag 1 length 4 bytes (B)Z } Constant_Utf8_info { tag 1 length 7 bytes ([BSS)Z } Constant_Utf8_info { tag 1 length 4 bytes (S)Z } Constant_Utf8_info { tag 1 length 8 bytes getValue } Constant_Utf8_info { tag 1 length 5 bytes (SS)S } Constant_Utf8_info { tag 1 length 21 bytes sim/toolkit/MEProfile } Constant_Classref_info { tag 7 name_index 311 // sim/toolkit/MEProfile } Constant_Utf8_info { tag 1 length 9 bytes appendTLV } Constant_Utf8_info { tag 1 length 8 bytes (B[BSS)V } Constant_Utf8_info { tag 1 length 5 bytes (BB)V } Constant_Utf8_info { tag 1 length 6 bytes (BBB)V } Constant_Utf8_info { tag 1 length 9 bytes (BB[BSS)V } Constant_Utf8_info { tag 1 length 11 bytes appendArray } Constant_Utf8_info { tag 1 length 7 bytes ([BSS)V } Constant_Utf8_info { tag 1 length 5 bytes clear } Constant_Utf8_info { tag 1 length 3 bytes ()V } Constant_Utf8_info { tag 1 length 23 bytes sim/toolkit/EditHandler } Constant_Classref_info { tag 7 name_index 322 // sim/toolkit/EditHandler } Constant_Utf8_info { tag 1 length 13 bytes getTheHandler } Constant_Utf8_info { tag 1 length 40 bytes ()Lsim/toolkit/ProactiveResponseHandler; } Constant_Utf8_info { tag 1 length 17 bytes getItemIdentifier } Constant_Utf8_info { tag 1 length 3 bytes ()B } Constant_Utf8_info { tag 1 length 30 bytes getAdditionalInformationLength } Constant_Utf8_info { tag 1 length 19 bytes getTextStringLength } Constant_Utf8_info { tag 1 length 14 bytes copyTextString } Constant_Utf8_info { tag 1 length 6 bytes ([BS)S } Constant_Utf8_info { tag 1 length 25 bytes copyAdditionalInformation } Constant_Utf8_info { tag 1 length 25 bytes getTextStringCodingScheme } Constant_Utf8_info { tag 1 length 16 bytes getGeneralResult } Constant_Utf8_info { tag 1 length 20 bytes getChannelIdentifier } Constant_Utf8_info { tag 1 length 15 bytes copyChannelData } Constant_Utf8_info { tag 1 length 11 bytes getCapacity } Constant_Utf8_info { tag 1 length 36 bytes sim/toolkit/ProactiveResponseHandler } Constant_Classref_info { tag 7 name_index 338 // sim/toolkit/ProactiveResponseHandler } Constant_Utf8_info { tag 1 length 39 bytes ()Lsim/toolkit/EnvelopeResponseHandler; } Constant_Utf8_info { tag 1 length 4 bytes post } Constant_Utf8_info { tag 1 length 12 bytes postAsBERTLV } Constant_Utf8_info { tag 1 length 35 bytes sim/toolkit/EnvelopeResponseHandler } Constant_Classref_info { tag 7 name_index 343 // sim/toolkit/EnvelopeResponseHandler } Constant_Utf8_info { tag 1 length 16 bytes HANDLER_OVERFLOW } Constant_Utf8_info { tag 1 length 1 bytes S } Constant_Utf8_info { tag 1 length 21 bytes HANDLER_NOT_AVAILABLE } Constant_Utf8_info { tag 1 length 19 bytes UNAVAILABLE_ELEMENT } Constant_Utf8_info { tag 1 length 20 bytes MENU_ENTRY_NOT_FOUND } Constant_Utf8_info { tag 1 length 14 bytes REGISTRY_ERROR } Constant_Utf8_info { tag 1 length 19 bytes EVENT_NOT_SUPPORTED } Constant_Utf8_info { tag 1 length 24 bytes EVENT_ALREADY_REGISTERED } Constant_Utf8_info { tag 1 length 21 bytes OUT_OF_TLV_BOUNDARIES } Constant_Utf8_info { tag 1 length 24 bytes ME_PROFILE_NOT_AVAILABLE } Constant_Utf8_info { tag 1 length 23 bytes ALLOWED_LENGTH_EXCEEDED } Constant_Utf8_info { tag 1 length 18 bytes NO_TIMER_AVAILABLE } Constant_Utf8_info { tag 1 length 16 bytes INVALID_TIMER_ID } Constant_Utf8_info { tag 1 length 17 bytes EVENT_NOT_ALLOWED } Constant_Utf8_info { tag 1 length 19 bytes BAD_INPUT_PARAMETER } Constant_Utf8_info { tag 1 length 19 bytes COMMAND_NOT_ALLOWED } Constant_Utf8_info { tag 1 length 15 bytes TAR_NOT_DEFINED } Constant_Utf8_info { tag 1 length 6 bytes } Constant_Utf8_info { tag 1 length 4 bytes (S)V } Constant_Utf8_info { tag 1 length 7 bytes throwIt } Constant_Utf8_info { tag 1 length 9 bytes getReason } Constant_Utf8_info { tag 1 length 9 bytes setReason } Constant_Utf8_info { tag 1 length 28 bytes sim/toolkit/ToolkitException } Constant_Classref_info { tag 7 name_index 367 // sim/toolkit/ToolkitException } Constant_Utf8_info { tag 1 length 19 bytes java/lang/Throwable } Constant_Classref_info { tag 7 name_index 369 // java/lang/Throwable } Constant_Utf8_info { tag 1 length 19 bytes java/lang/Exception } Constant_Classref_info { tag 7 name_index 371 // java/lang/Exception } Constant_Utf8_info { tag 1 length 26 bytes java/lang/RuntimeException } Constant_Classref_info { tag 7 name_index 373 // java/lang/RuntimeException } Constant_Utf8_info { tag 1 length 39 bytes javacard/framework/CardRuntimeException } Constant_Classref_info { tag 7 name_index 375 // javacard/framework/CardRuntimeException } Constant_Utf8_info { tag 1 length 31 bytes ()Lsim/toolkit/EnvelopeHandler; } Constant_Utf8_info { tag 1 length 20 bytes getSecuredDataOffset } Constant_Utf8_info { tag 1 length 20 bytes getSecuredDataLength } Constant_Utf8_info { tag 1 length 14 bytes getTPUDLOffset } Constant_Utf8_info { tag 1 length 14 bytes getEnvelopeTag } Constant_Utf8_info { tag 1 length 17 bytes getUserDataLength } Constant_Utf8_info { tag 1 length 27 bytes sim/toolkit/EnvelopeHandler } Constant_Classref_info { tag 7 name_index 383 // sim/toolkit/EnvelopeHandler } Constant_Utf8_info { tag 1 length 8 bytes getEntry } Constant_Utf8_info { tag 1 length 31 bytes ()Lsim/toolkit/ToolkitRegistry; } Constant_Utf8_info { tag 1 length 12 bytes setEventList } Constant_Utf8_info { tag 1 length 16 bytes disableMenuEntry } Constant_Utf8_info { tag 1 length 15 bytes enableMenuEntry } Constant_Utf8_info { tag 1 length 15 bytes changeMenuEntry } Constant_Utf8_info { tag 1 length 12 bytes (B[BSSBZBS)V } Constant_Utf8_info { tag 1 length 13 bytes allocateTimer } Constant_Utf8_info { tag 1 length 10 bytes clearEvent } Constant_Utf8_info { tag 1 length 10 bytes isEventSet } Constant_Utf8_info { tag 1 length 12 bytes releaseTimer } Constant_Utf8_info { tag 1 length 8 bytes setEvent } Constant_Utf8_info { tag 1 length 15 bytes getPollInterval } Constant_Utf8_info { tag 1 length 13 bytes initMenuEntry } Constant_Utf8_info { tag 1 length 11 bytes ([BSSBZBS)B } Constant_Utf8_info { tag 1 length 19 bytes requestPollInterval } Constant_Utf8_info { tag 1 length 27 bytes sim/toolkit/ToolkitRegistry } Constant_Classref_info { tag 7 name_index 401 // sim/toolkit/ToolkitRegistry } Constant_Utf8_info { tag 1 length 32 bytes ()Lsim/toolkit/ProactiveHandler; } Constant_Utf8_info { tag 1 length 12 bytes initGetInput } Constant_Utf8_info { tag 1 length 11 bytes (BB[BSSSS)V } Constant_Utf8_info { tag 1 length 15 bytes initDisplayText } Constant_Utf8_info { tag 1 length 12 bytes initGetInkey } Constant_Utf8_info { tag 1 length 4 bytes init } Constant_Utf8_info { tag 1 length 4 bytes send } Constant_Utf8_info { tag 1 length 16 bytes initCloseChannel } Constant_Utf8_info { tag 1 length 28 bytes sim/toolkit/ProactiveHandler } Constant_Classref_info { tag 7 name_index 411 // sim/toolkit/ProactiveHandler } Constant_Utf8_info { tag 1 length 11 bytes sim/toolkit } CONSTANT_Package_info { tag 13 flags 1 name_index 413 // sim/toolkit minor_version 6 major_version 2 aid_length 16 aid 0xA0:0x0:0x0:0x0:0x9:0x0:0x3:0xFF:0xFF:0xFF:0xFF:0x89:0x10:0x71:0x0:0x2 } } this_package 414 export_class_count 11 export_classes { class_info { // sim/toolkit/ToolkitConstants token 0 access_flags public abstract interface name_index 273 // sim/toolkit/ToolkitConstants export_supers_count 1 supers { constant_pool_index 275 // java/lang/Object } export_interfaces_count 0 interfaces { } export_fields_count 188 fields { field_info { token 255 access_flags public static final name_index 0 // EVENT_PROFILE_DOWNLOAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 4 // EVENT_FORMATTED_SMS_PP_ENV Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 6 // EVENT_FORMATTED_SMS_PP_UPD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 3 } } } field_info { token 255 access_flags public static final name_index 8 // EVENT_UNFORMATTED_SMS_PP_ENV Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 4 } } } field_info { token 255 access_flags public static final name_index 10 // EVENT_UNFORMATTED_SMS_PP_UPD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 11 // value = 5 } } } field_info { token 255 access_flags public static final name_index 12 // EVENT_UNFORMATTED_SMS_CB Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 13 // value = 6 } } } field_info { token 255 access_flags public static final name_index 14 // EVENT_MENU_SELECTION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 15 // value = 7 } } } field_info { token 255 access_flags public static final name_index 16 // EVENT_MENU_SELECTION_HELP_REQUEST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 17 // value = 8 } } } field_info { token 255 access_flags public static final name_index 18 // EVENT_CALL_CONTROL_BY_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 19 // value = 9 } } } field_info { token 255 access_flags public static final name_index 20 // EVENT_MO_SHORT_MESSAGE_CONTROL_BY_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 21 // value = 10 } } } field_info { token 255 access_flags public static final name_index 22 // EVENT_TIMER_EXPIRATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 23 // value = 11 } } } field_info { token 255 access_flags public static final name_index 24 // EVENT_EVENT_DOWNLOAD_MT_CALL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 25 // value = 12 } } } field_info { token 255 access_flags public static final name_index 26 // EVENT_EVENT_DOWNLOAD_CALL_CONNECTED Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 27 // value = 13 } } } field_info { token 255 access_flags public static final name_index 28 // EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 29 // value = 14 } } } field_info { token 255 access_flags public static final name_index 30 // EVENT_EVENT_DOWNLOAD_LOCATION_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 31 // value = 15 } } } field_info { token 255 access_flags public static final name_index 32 // EVENT_EVENT_DOWNLOAD_USER_ACTIVITY Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } field_info { token 255 access_flags public static final name_index 34 // EVENT_EVENT_DOWNLOAD_IDLE_SCREEN_AVAILABLE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 35 // value = 17 } } } field_info { token 255 access_flags public static final name_index 36 // EVENT_EVENT_DOWNLOAD_CARD_READER_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 37 // value = 18 } } } field_info { token 255 access_flags public static final name_index 38 // EVENT_STATUS_COMMAND Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 39 // value = 19 } } } field_info { token 255 access_flags public static final name_index 40 // EVENT_EVENT_DOWNLOAD_LANGUAGE_SELECTION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 20 } } } field_info { token 255 access_flags public static final name_index 42 // EVENT_EVENT_DOWNLOAD_BROWSER_TERMINATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 43 // value = 21 } } } field_info { token 255 access_flags public static final name_index 44 // EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 45 // value = 22 } } } field_info { token 255 access_flags public static final name_index 46 // EVENT_EVENT_DOWNLOAD_CHANNEL_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 47 // value = 23 } } } field_info { token 255 access_flags public static final name_index 48 // EVENT_FORMATTED_SMS_CB Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 49 // value = 24 } } } field_info { token 255 access_flags public static final name_index 50 // EVENT_FIRST_COMMAND_AFTER_SELECT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 51 // value = 127 } } } field_info { token 255 access_flags public static final name_index 52 // EVENT_UNRECOGNIZED_ENVELOPE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 53 // value = -1 } } } field_info { token 255 access_flags public static final name_index 54 // BTAG_PROACTIVE_SIM_COMMAND Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 55 // value = -48 } } } field_info { token 255 access_flags public static final name_index 56 // BTAG_SMS_PP_DOWNWLOAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 57 // value = -47 } } } field_info { token 255 access_flags public static final name_index 58 // BTAG_SMS_PP_DOWNLOAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 57 // value = -47 } } } field_info { token 255 access_flags public static final name_index 59 // BTAG_CELL_BROADCAST_DOWNLOAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 60 // value = -46 } } } field_info { token 255 access_flags public static final name_index 61 // BTAG_MENU_SELECTION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 62 // value = -45 } } } field_info { token 255 access_flags public static final name_index 63 // BTAG_CALL_CONTROL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 64 // value = -44 } } } field_info { token 255 access_flags public static final name_index 65 // BTAG_MO_SHORT_MESSAGE_CONTROL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 66 // value = -43 } } } field_info { token 255 access_flags public static final name_index 67 // BTAG_EVENT_DOWNLOAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 68 // value = -42 } } } field_info { token 255 access_flags public static final name_index 69 // BTAG_TIMER_EXPIRATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 70 // value = -41 } } } field_info { token 255 access_flags public static final name_index 71 // TAG_COMMAND_DETAILS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 72 // TAG_DEVICE_IDENTITIES Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 73 // TAG_RESULT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 3 } } } field_info { token 255 access_flags public static final name_index 74 // TAG_DURATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 4 } } } field_info { token 255 access_flags public static final name_index 75 // TAG_ALPHA_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 11 // value = 5 } } } field_info { token 255 access_flags public static final name_index 76 // TAG_ADDRESS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 13 // value = 6 } } } field_info { token 255 access_flags public static final name_index 77 // TAG_CAPABILITY_CONFIGURATION_PARAMETERS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 15 // value = 7 } } } field_info { token 255 access_flags public static final name_index 78 // TAG_CALLED_PARTY_SUBADDRESS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 17 // value = 8 } } } field_info { token 255 access_flags public static final name_index 79 // TAG_SS_STRING Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 19 // value = 9 } } } field_info { token 255 access_flags public static final name_index 80 // TAG_USSD_STRING Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 21 // value = 10 } } } field_info { token 255 access_flags public static final name_index 81 // TAG_SMS_TPDU Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 23 // value = 11 } } } field_info { token 255 access_flags public static final name_index 82 // TAG_CELL_BROADCAST_PAGE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 25 // value = 12 } } } field_info { token 255 access_flags public static final name_index 83 // TAG_TEXT_STRING Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 27 // value = 13 } } } field_info { token 255 access_flags public static final name_index 84 // TAG_TONE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 29 // value = 14 } } } field_info { token 255 access_flags public static final name_index 85 // TAG_ITEM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 31 // value = 15 } } } field_info { token 255 access_flags public static final name_index 86 // TAG_ITEM_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } field_info { token 255 access_flags public static final name_index 87 // TAG_RESPONSE_LENGTH Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 35 // value = 17 } } } field_info { token 255 access_flags public static final name_index 88 // TAG_FILE_LIST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 37 // value = 18 } } } field_info { token 255 access_flags public static final name_index 89 // TAG_LOCATION_INFORMATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 39 // value = 19 } } } field_info { token 255 access_flags public static final name_index 90 // TAG_IMEI Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 20 } } } field_info { token 255 access_flags public static final name_index 91 // TAG_HELP_REQUEST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 43 // value = 21 } } } field_info { token 255 access_flags public static final name_index 92 // TAG_NETWORK_MEASUREMENT_RESULTS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 45 // value = 22 } } } field_info { token 255 access_flags public static final name_index 93 // TAG_DEFAULT_TEXT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 47 // value = 23 } } } field_info { token 255 access_flags public static final name_index 94 // TAG_ITEMS_NEXT_ACTION_INDICATOR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 49 // value = 24 } } } field_info { token 255 access_flags public static final name_index 95 // TAG_EVENT_LIST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 96 // value = 25 } } } field_info { token 255 access_flags public static final name_index 97 // TAG_CAUSE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 98 // value = 26 } } } field_info { token 255 access_flags public static final name_index 99 // TAG_LOCATION_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 100 // value = 27 } } } field_info { token 255 access_flags public static final name_index 101 // TAG_TRANSACTION_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 102 // value = 28 } } } field_info { token 255 access_flags public static final name_index 103 // TAG_BCCH_CHANNEL_LIST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 104 // value = 29 } } } field_info { token 255 access_flags public static final name_index 105 // TAG_ICON_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 106 // value = 30 } } } field_info { token 255 access_flags public static final name_index 107 // TAG_ITEM_ICON_IDENTIFIER_LIST Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 108 // value = 31 } } } field_info { token 255 access_flags public static final name_index 109 // TAG_CARD_READER_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 110 // value = 32 } } } field_info { token 255 access_flags public static final name_index 111 // TAG_CARD_ATR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 112 // value = 33 } } } field_info { token 255 access_flags public static final name_index 113 // TAG_C_APDU Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 114 // value = 34 } } } field_info { token 255 access_flags public static final name_index 115 // TAG_R_APDU Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 116 // value = 35 } } } field_info { token 255 access_flags public static final name_index 117 // TAG_TIMER_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 118 // value = 36 } } } field_info { token 255 access_flags public static final name_index 119 // TAG_TIMER_VALUE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 120 // value = 37 } } } field_info { token 255 access_flags public static final name_index 121 // TAG_DATE_TIME_AND_TIME_ZONE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 122 // value = 38 } } } field_info { token 255 access_flags public static final name_index 123 // TAG_CALL_CONTROL_REQUESTED_ACTION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 124 // value = 39 } } } field_info { token 255 access_flags public static final name_index 125 // TAG_AT_COMMAND Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 126 // value = 40 } } } field_info { token 255 access_flags public static final name_index 127 // TAG_AT_RESPONSE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 128 // value = 41 } } } field_info { token 255 access_flags public static final name_index 129 // TAG_BC_REPEAT_INDICATOR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 130 // value = 42 } } } field_info { token 255 access_flags public static final name_index 131 // TAG_IMMEDIATE_RESPONSE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 132 // value = 43 } } } field_info { token 255 access_flags public static final name_index 133 // TAG_DTMF_STRING Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 134 // value = 44 } } } field_info { token 255 access_flags public static final name_index 135 // TAG_LANGUAGE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 136 // value = 45 } } } field_info { token 255 access_flags public static final name_index 137 // TAG_TIMING_ADVANCE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 138 // value = 46 } } } field_info { token 255 access_flags public static final name_index 139 // TAG_BROWSER_IDENTITY Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 140 // value = 48 } } } field_info { token 255 access_flags public static final name_index 141 // TAG_URL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 142 // value = 49 } } } field_info { token 255 access_flags public static final name_index 143 // TAG_BEARER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 144 // value = 50 } } } field_info { token 255 access_flags public static final name_index 145 // TAG_PROVISIONING_REFERENCE_FILE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 146 // value = 51 } } } field_info { token 255 access_flags public static final name_index 147 // TAG_BROWSER_TERMINATION_CAUSE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 148 // value = 52 } } } field_info { token 255 access_flags public static final name_index 149 // TAG_BEARER_DESCRIPTION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 150 // value = 53 } } } field_info { token 255 access_flags public static final name_index 151 // TAG_CHANNEL_DATA Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 152 // value = 54 } } } field_info { token 255 access_flags public static final name_index 153 // TAG_CHANNEL_DATA_LENGTH Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 154 // value = 55 } } } field_info { token 255 access_flags public static final name_index 155 // TAG_CHANNEL_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 156 // value = 56 } } } field_info { token 255 access_flags public static final name_index 157 // TAG_BUFFER_SIZE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 158 // value = 57 } } } field_info { token 255 access_flags public static final name_index 159 // TAG_CARD_READER_IDENTIFIER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 160 // value = 58 } } } field_info { token 255 access_flags public static final name_index 161 // TAG_SIM_ME_INTERFACE_TRANSPORT_LEVEL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 162 // value = 60 } } } field_info { token 255 access_flags public static final name_index 163 // TAG_OTHER_ADDRESS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 164 // value = 62 } } } field_info { token 255 access_flags public static final name_index 165 // TAG_NETWORK_ACCESS_NAME Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 166 // value = 71 } } } field_info { token 255 access_flags public static final name_index 167 // TAG_SET_CR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 168 // value = -128 } } } field_info { token 255 access_flags public static final name_index 169 // TAG_SET_NO_CR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 51 // value = 127 } } } field_info { token 255 access_flags public static final name_index 170 // TLV_LENGTH_CODED_2BYTES Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 171 // value = -127 } } } field_info { token 255 access_flags public static final name_index 172 // TLV_NOT_FOUND Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 173 // value = 0 } } } field_info { token 255 access_flags public static final name_index 174 // TLV_FOUND_CR_SET Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 175 // TLV_FOUND_CR_NOT_SET Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 176 // PRO_CMD_REFRESH Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 177 // PRO_CMD_MORE_TIME Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 178 // PRO_CMD_SET_UP_CALL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } field_info { token 255 access_flags public static final name_index 179 // PRO_CMD_SEND_SS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 35 // value = 17 } } } field_info { token 255 access_flags public static final name_index 180 // PRO_CMD_SEND_USSD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 37 // value = 18 } } } field_info { token 255 access_flags public static final name_index 181 // PRO_CMD_SEND_SHORT_MESSAGE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 39 // value = 19 } } } field_info { token 255 access_flags public static final name_index 182 // PRO_CMD_SEND_DTMF Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 20 } } } field_info { token 255 access_flags public static final name_index 183 // PRO_CMD_LAUNCH_BROWSER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 43 // value = 21 } } } field_info { token 255 access_flags public static final name_index 184 // PRO_CMD_PLAY_TONE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 110 // value = 32 } } } field_info { token 255 access_flags public static final name_index 185 // PRO_CMD_DISPLAY_TEXT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 112 // value = 33 } } } field_info { token 255 access_flags public static final name_index 186 // PRO_CMD_GET_INKEY Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 114 // value = 34 } } } field_info { token 255 access_flags public static final name_index 187 // PRO_CMD_GET_INPUT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 116 // value = 35 } } } field_info { token 255 access_flags public static final name_index 188 // PRO_CMD_SELECT_ITEM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 118 // value = 36 } } } field_info { token 255 access_flags public static final name_index 189 // PRO_CMD_PROVIDE_LOCAL_INFORMATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 122 // value = 38 } } } field_info { token 255 access_flags public static final name_index 190 // PRO_CMD_TIMER_MANAGEMENT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 124 // value = 39 } } } field_info { token 255 access_flags public static final name_index 191 // PRO_CMD_SET_UP_IDLE_MODE_TEXT Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 126 // value = 40 } } } field_info { token 255 access_flags public static final name_index 192 // PRO_CMD_PERFORM_CARD_APDU Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 140 // value = 48 } } } field_info { token 255 access_flags public static final name_index 193 // PRO_CMD_POWER_ON_CARD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 142 // value = 49 } } } field_info { token 255 access_flags public static final name_index 194 // PRO_CMD_POWER_OFF_CARD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 144 // value = 50 } } } field_info { token 255 access_flags public static final name_index 195 // PRO_CMD_GET_READER_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 146 // value = 51 } } } field_info { token 255 access_flags public static final name_index 196 // PRO_CMD_RUN_AT_COMMAND Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 148 // value = 52 } } } field_info { token 255 access_flags public static final name_index 197 // PRO_CMD_LANGUAGE_NOTIFICATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 150 // value = 53 } } } field_info { token 255 access_flags public static final name_index 198 // PRO_CMD_OPEN_CHANNEL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 199 // value = 64 } } } field_info { token 255 access_flags public static final name_index 200 // PRO_CMD_CLOSE_CHANNEL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 201 // value = 65 } } } field_info { token 255 access_flags public static final name_index 202 // PRO_CMD_RECEIVE_DATA Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 203 // value = 66 } } } field_info { token 255 access_flags public static final name_index 204 // PRO_CMD_SEND_DATA Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 205 // value = 67 } } } field_info { token 255 access_flags public static final name_index 206 // PRO_CMD_GET_CHANNEL_STATUS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 207 // value = 68 } } } field_info { token 255 access_flags public static final name_index 208 // DEV_ID_KEYPAD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 209 // DEV_ID_DISPLAY Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 210 // DEV_ID_EARPIECE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 3 } } } field_info { token 255 access_flags public static final name_index 211 // DEV_ID_ADDITIONAL_CARD_READER_0 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } field_info { token 255 access_flags public static final name_index 212 // DEV_ID_ADDITIONAL_CARD_READER_1 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 35 // value = 17 } } } field_info { token 255 access_flags public static final name_index 213 // DEV_ID_ADDITIONAL_CARD_READER_2 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 37 // value = 18 } } } field_info { token 255 access_flags public static final name_index 214 // DEV_ID_ADDITIONAL_CARD_READER_3 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 39 // value = 19 } } } field_info { token 255 access_flags public static final name_index 215 // DEV_ID_ADDITIONAL_CARD_READER_4 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 20 } } } field_info { token 255 access_flags public static final name_index 216 // DEV_ID_ADDITIONAL_CARD_READER_5 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 43 // value = 21 } } } field_info { token 255 access_flags public static final name_index 217 // DEV_ID_ADDITIONAL_CARD_READER_6 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 45 // value = 22 } } } field_info { token 255 access_flags public static final name_index 218 // DEV_ID_ADDITIONAL_CARD_READER_7 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 47 // value = 23 } } } field_info { token 255 access_flags public static final name_index 219 // DEV_ID_CHANNEL_BASE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 110 // value = 32 } } } field_info { token 255 access_flags public static final name_index 220 // DEV_ID_CHANNEL_1 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 112 // value = 33 } } } field_info { token 255 access_flags public static final name_index 221 // DEV_ID_CHANNEL_2 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 114 // value = 34 } } } field_info { token 255 access_flags public static final name_index 222 // DEV_ID_CHANNEL_3 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 116 // value = 35 } } } field_info { token 255 access_flags public static final name_index 223 // DEV_ID_CHANNEL_4 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 118 // value = 36 } } } field_info { token 255 access_flags public static final name_index 224 // DEV_ID_CHANNEL_5 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 120 // value = 37 } } } field_info { token 255 access_flags public static final name_index 225 // DEV_ID_CHANNEL_6 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 122 // value = 38 } } } field_info { token 255 access_flags public static final name_index 226 // DEV_ID_CHANNEL_7 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 124 // value = 39 } } } field_info { token 255 access_flags public static final name_index 227 // DEV_ID_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 171 // value = -127 } } } field_info { token 255 access_flags public static final name_index 228 // DEV_ID_ME Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 229 // value = -126 } } } field_info { token 255 access_flags public static final name_index 230 // DEV_ID_NETWORK Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 231 // value = -125 } } } field_info { token 255 access_flags public static final name_index 232 // DCS_DEFAULT_ALPHABET Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 173 // value = 0 } } } field_info { token 255 access_flags public static final name_index 233 // DCS_8_BIT_DATA Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 4 } } } field_info { token 255 access_flags public static final name_index 234 // DCS_UCS2 Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 17 // value = 8 } } } field_info { token 255 access_flags public static final name_index 235 // SW1_RP_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 236 // value = -98 } } } field_info { token 255 access_flags public static final name_index 237 // SW1_RP_ACK Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 238 // value = -97 } } } field_info { token 255 access_flags public static final name_index 239 // POLL_NO_DURATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 173 // value = 0 } } } field_info { token 255 access_flags public static final name_index 240 // POLL_SYSTEM_DURATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 53 // value = -1 } } } field_info { token 255 access_flags public static final name_index 241 // RES_CMD_PERF Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 173 // value = 0 } } } field_info { token 255 access_flags public static final name_index 242 // RES_CMD_PERF_PARTIAL_COMPR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 243 // RES_CMD_PERF_MISSING_INFO Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 244 // RES_CMD_PERF_REFRESH_ADD_EF_READ Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 3 } } } field_info { token 255 access_flags public static final name_index 245 // RES_CMD_PERF_REQ_ICON_NOT_DISP Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 4 } } } field_info { token 255 access_flags public static final name_index 246 // RES_CMD_PERF_MODIF_CC_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 11 // value = 5 } } } field_info { token 255 access_flags public static final name_index 247 // RES_CMD_PERF_LIMITED_SERVICE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 13 // value = 6 } } } field_info { token 255 access_flags public static final name_index 248 // RES_CMD_PERF_WITH_MODIFICATION Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 15 // value = 7 } } } field_info { token 255 access_flags public static final name_index 249 // RES_CMD_PERF_SESSION_TERM_USER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } field_info { token 255 access_flags public static final name_index 250 // RES_CMD_PERF_BACKWARD_MOVE_REQ Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 35 // value = 17 } } } field_info { token 255 access_flags public static final name_index 251 // RES_CMD_PERF_NO_RESP_FROM_USER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 37 // value = 18 } } } field_info { token 255 access_flags public static final name_index 252 // RES_CMD_PERF_HELP_INFO_REQ Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 39 // value = 19 } } } field_info { token 255 access_flags public static final name_index 253 // RES_CMD_PERF_USSD_TRANSAC_TERM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 41 // value = 20 } } } field_info { token 255 access_flags public static final name_index 254 // RES_TEMP_PB_ME_UNABLE_PROC Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 110 // value = 32 } } } field_info { token 255 access_flags public static final name_index 255 // RES_TEMP_PB_SESSION_TERM_USER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 112 // value = 33 } } } field_info { token 255 access_flags public static final name_index 256 // RES_TEMP_PB_USER_REJECT_CALL_REQ Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 114 // value = 34 } } } field_info { token 255 access_flags public static final name_index 257 // RES_TEMP_PB_USER_CLEAR_CALL Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 116 // value = 35 } } } field_info { token 255 access_flags public static final name_index 258 // RES_TEMP_PB_IN_CONTR_TIMER_STATE Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 118 // value = 36 } } } field_info { token 255 access_flags public static final name_index 259 // RES_TEMP_PB_INTERACT_CC_BY_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 120 // value = 37 } } } field_info { token 255 access_flags public static final name_index 260 // RES_TEMP_PB_LAUNCH_BROWSER Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 122 // value = 38 } } } field_info { token 255 access_flags public static final name_index 261 // RES_ERROR_CMD_BEYOND_ME_CAPAB Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 140 // value = 48 } } } field_info { token 255 access_flags public static final name_index 262 // RES_ERROR_CMD_TYP_NOT_UNDERSTOOD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 142 // value = 49 } } } field_info { token 255 access_flags public static final name_index 263 // RES_ERROR_CMD_DATA_NOT_UNDERSTOOD Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 144 // value = 50 } } } field_info { token 255 access_flags public static final name_index 264 // RES_ERROR_CMD_NUMBER_NOT_KNOWN Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 146 // value = 51 } } } field_info { token 255 access_flags public static final name_index 265 // RES_ERROR_SS_RETURN_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 148 // value = 52 } } } field_info { token 255 access_flags public static final name_index 266 // RES_ERROR_SMS_RP_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 150 // value = 53 } } } field_info { token 255 access_flags public static final name_index 267 // RES_ERROR_REQ_VALUES_MISS Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 152 // value = 54 } } } field_info { token 255 access_flags public static final name_index 268 // RES_ERROR_USSD_RETURN_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 154 // value = 55 } } } field_info { token 255 access_flags public static final name_index 269 // RES_ERROR_MULTIPLE_CARD_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 156 // value = 56 } } } field_info { token 255 access_flags public static final name_index 270 // RES_ERROR_INTERACT_CC_SMSMO_BY_SIM Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 158 // value = 57 } } } field_info { token 255 access_flags public static final name_index 271 // RES_ERROR_BEARER_INDEPENDENT_PROTOCOL_ERROR Descriptor_Index 1 // B attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 160 // value = 58 } } } } export_methods_count 0 methods { } } class_info { // sim/toolkit/ToolkitInterface token 1 access_flags public abstract interface shareable name_index 279 // sim/toolkit/ToolkitInterface export_supers_count 1 supers { constant_pool_index 275 // java/lang/Object } export_interfaces_count 1 interfaces { constant_pool_index 281 // javacard/framework/Shareable } export_fields_count 0 fields { } export_methods_count 1 methods { method_info { token 0 access_flags public abstract name_index 276 // processToolkit Descriptor_Index 277 // (B)V } } } class_info { // sim/toolkit/ViewHandler token 2 access_flags public abstract name_index 304 // sim/toolkit/ViewHandler export_supers_count 1 supers { constant_pool_index 275 // java/lang/Object } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 12 methods { method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } } } class_info { // sim/toolkit/MEProfile token 3 access_flags public final name_index 312 // sim/toolkit/MEProfile export_supers_count 1 supers { constant_pool_index 275 // java/lang/Object } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 6 methods { method_info { token 0 access_flags public static name_index 305 // check Descriptor_Index 306 // (B)Z } method_info { token 1 access_flags public static name_index 305 // check Descriptor_Index 307 // ([BSS)Z } method_info { token 2 access_flags public static name_index 305 // check Descriptor_Index 308 // (S)Z } method_info { token 4 access_flags public static name_index 309 // getValue Descriptor_Index 310 // (SS)S } method_info { token 3 access_flags public static name_index 298 // copy Descriptor_Index 287 // (S[BSS)S } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } } } class_info { // sim/toolkit/EditHandler token 4 access_flags public abstract name_index 323 // sim/toolkit/EditHandler export_supers_count 2 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 304 // sim/toolkit/ViewHandler } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 18 methods { method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } method_info { token 12 access_flags public name_index 313 // appendTLV Descriptor_Index 314 // (B[BSS)V } method_info { token 13 access_flags public name_index 313 // appendTLV Descriptor_Index 315 // (BB)V } method_info { token 14 access_flags public name_index 313 // appendTLV Descriptor_Index 316 // (BBB)V } method_info { token 15 access_flags public name_index 313 // appendTLV Descriptor_Index 317 // (BB[BSS)V } method_info { token 16 access_flags public name_index 318 // appendArray Descriptor_Index 319 // ([BSS)V } method_info { token 17 access_flags public name_index 320 // clear Descriptor_Index 321 // ()V } } } class_info { // sim/toolkit/ProactiveResponseHandler token 5 access_flags public final name_index 339 // sim/toolkit/ProactiveResponseHandler export_supers_count 2 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 304 // sim/toolkit/ViewHandler } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 23 methods { method_info { token 0 access_flags public static name_index 324 // getTheHandler Descriptor_Index 325 // ()Lsim/toolkit/ProactiveResponseHandler; } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } method_info { token 12 access_flags public name_index 326 // getItemIdentifier Descriptor_Index 327 // ()B } method_info { token 13 access_flags public name_index 328 // getAdditionalInformationLength Descriptor_Index 301 // ()S } method_info { token 14 access_flags public name_index 329 // getTextStringLength Descriptor_Index 301 // ()S } method_info { token 15 access_flags public name_index 330 // copyTextString Descriptor_Index 331 // ([BS)S } method_info { token 16 access_flags public name_index 332 // copyAdditionalInformation Descriptor_Index 299 // ([BSS)S } method_info { token 17 access_flags public name_index 333 // getTextStringCodingScheme Descriptor_Index 327 // ()B } method_info { token 18 access_flags public name_index 334 // getGeneralResult Descriptor_Index 327 // ()B } method_info { token 19 access_flags public name_index 335 // getChannelIdentifier Descriptor_Index 327 // ()B } method_info { token 20 access_flags public name_index 336 // copyChannelData Descriptor_Index 299 // ([BSS)S } method_info { token 21 access_flags public name_index 337 // getCapacity Descriptor_Index 301 // ()S } } } class_info { // sim/toolkit/EnvelopeResponseHandler token 6 access_flags public final name_index 344 // sim/toolkit/EnvelopeResponseHandler export_supers_count 3 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 304 // sim/toolkit/ViewHandler constant_pool_index 323 // sim/toolkit/EditHandler } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 22 methods { method_info { token 0 access_flags public static name_index 324 // getTheHandler Descriptor_Index 340 // ()Lsim/toolkit/EnvelopeResponseHandler; } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } method_info { token 12 access_flags public name_index 313 // appendTLV Descriptor_Index 314 // (B[BSS)V } method_info { token 13 access_flags public name_index 313 // appendTLV Descriptor_Index 315 // (BB)V } method_info { token 14 access_flags public name_index 313 // appendTLV Descriptor_Index 316 // (BBB)V } method_info { token 15 access_flags public name_index 313 // appendTLV Descriptor_Index 317 // (BB[BSS)V } method_info { token 16 access_flags public name_index 318 // appendArray Descriptor_Index 319 // ([BSS)V } method_info { token 17 access_flags public name_index 320 // clear Descriptor_Index 321 // ()V } method_info { token 18 access_flags public name_index 341 // post Descriptor_Index 277 // (B)V } method_info { token 19 access_flags public name_index 342 // postAsBERTLV Descriptor_Index 315 // (BB)V } method_info { token 20 access_flags public name_index 337 // getCapacity Descriptor_Index 301 // ()S } } } class_info { // sim/toolkit/ToolkitException token 7 access_flags public name_index 368 // sim/toolkit/ToolkitException export_supers_count 5 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 370 // java/lang/Throwable constant_pool_index 372 // java/lang/Exception constant_pool_index 374 // java/lang/RuntimeException constant_pool_index 376 // javacard/framework/CardRuntimeException } export_interfaces_count 0 interfaces { } export_fields_count 16 fields { field_info { token 255 access_flags public static final name_index 345 // HANDLER_OVERFLOW Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 3 // value = 1 } } } field_info { token 255 access_flags public static final name_index 347 // HANDLER_NOT_AVAILABLE Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 5 // value = 2 } } } field_info { token 255 access_flags public static final name_index 348 // UNAVAILABLE_ELEMENT Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 7 // value = 3 } } } field_info { token 255 access_flags public static final name_index 349 // MENU_ENTRY_NOT_FOUND Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 9 // value = 4 } } } field_info { token 255 access_flags public static final name_index 350 // REGISTRY_ERROR Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 11 // value = 5 } } } field_info { token 255 access_flags public static final name_index 351 // EVENT_NOT_SUPPORTED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 13 // value = 6 } } } field_info { token 255 access_flags public static final name_index 352 // EVENT_ALREADY_REGISTERED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 15 // value = 7 } } } field_info { token 255 access_flags public static final name_index 353 // OUT_OF_TLV_BOUNDARIES Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 17 // value = 8 } } } field_info { token 255 access_flags public static final name_index 354 // ME_PROFILE_NOT_AVAILABLE Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 19 // value = 9 } } } field_info { token 255 access_flags public static final name_index 355 // ALLOWED_LENGTH_EXCEEDED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 21 // value = 10 } } } field_info { token 255 access_flags public static final name_index 356 // NO_TIMER_AVAILABLE Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 23 // value = 11 } } } field_info { token 255 access_flags public static final name_index 357 // INVALID_TIMER_ID Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 25 // value = 12 } } } field_info { token 255 access_flags public static final name_index 358 // EVENT_NOT_ALLOWED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 27 // value = 13 } } } field_info { token 255 access_flags public static final name_index 359 // BAD_INPUT_PARAMETER Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 29 // value = 14 } } } field_info { token 255 access_flags public static final name_index 360 // COMMAND_NOT_ALLOWED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 31 // value = 15 } } } field_info { token 255 access_flags public static final name_index 361 // TAR_NOT_DEFINED Descriptor_Index 346 // S attributes_count 1 attributes { ConstantValue_attribute { attribute_name_index 2 // ConstantValue attribute_length 2 constantvalue_index 33 // value = 16 } } } } export_methods_count 5 methods { method_info { token 1 access_flags public name_index 362 // Descriptor_Index 363 // (S)V } method_info { token 0 access_flags public static name_index 364 // throwIt Descriptor_Index 363 // (S)V } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 365 // getReason Descriptor_Index 301 // ()S } method_info { token 2 access_flags public name_index 366 // setReason Descriptor_Index 363 // (S)V } } } class_info { // sim/toolkit/EnvelopeHandler token 8 access_flags public final name_index 384 // sim/toolkit/EnvelopeHandler export_supers_count 2 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 304 // sim/toolkit/ViewHandler } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 21 methods { method_info { token 0 access_flags public static name_index 324 // getTheHandler Descriptor_Index 377 // ()Lsim/toolkit/EnvelopeHandler; } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } method_info { token 12 access_flags public name_index 326 // getItemIdentifier Descriptor_Index 327 // ()B } method_info { token 13 access_flags public name_index 378 // getSecuredDataOffset Descriptor_Index 301 // ()S } method_info { token 14 access_flags public name_index 379 // getSecuredDataLength Descriptor_Index 301 // ()S } method_info { token 15 access_flags public name_index 380 // getTPUDLOffset Descriptor_Index 301 // ()S } method_info { token 16 access_flags public name_index 381 // getEnvelopeTag Descriptor_Index 327 // ()B } method_info { token 17 access_flags public name_index 335 // getChannelIdentifier Descriptor_Index 327 // ()B } method_info { token 18 access_flags public name_index 337 // getCapacity Descriptor_Index 301 // ()S } method_info { token 19 access_flags public name_index 382 // getUserDataLength Descriptor_Index 301 // ()S } } } class_info { // sim/toolkit/ToolkitRegistry token 9 access_flags public final name_index 402 // sim/toolkit/ToolkitRegistry export_supers_count 1 supers { constant_pool_index 275 // java/lang/Object } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 14 methods { method_info { token 0 access_flags public static name_index 385 // getEntry Descriptor_Index 386 // ()Lsim/toolkit/ToolkitRegistry; } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 387 // setEventList Descriptor_Index 319 // ([BSS)V } method_info { token 2 access_flags public name_index 388 // disableMenuEntry Descriptor_Index 277 // (B)V } method_info { token 3 access_flags public name_index 389 // enableMenuEntry Descriptor_Index 277 // (B)V } method_info { token 4 access_flags public name_index 390 // changeMenuEntry Descriptor_Index 391 // (B[BSSBZBS)V } method_info { token 5 access_flags public name_index 392 // allocateTimer Descriptor_Index 327 // ()B } method_info { token 6 access_flags public name_index 393 // clearEvent Descriptor_Index 277 // (B)V } method_info { token 7 access_flags public name_index 394 // isEventSet Descriptor_Index 306 // (B)Z } method_info { token 8 access_flags public name_index 395 // releaseTimer Descriptor_Index 277 // (B)V } method_info { token 9 access_flags public name_index 396 // setEvent Descriptor_Index 277 // (B)V } method_info { token 10 access_flags public name_index 397 // getPollInterval Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 398 // initMenuEntry Descriptor_Index 399 // ([BSSBZBS)B } method_info { token 12 access_flags public name_index 400 // requestPollInterval Descriptor_Index 363 // (S)V } } } class_info { // sim/toolkit/ProactiveHandler token 10 access_flags public final name_index 412 // sim/toolkit/ProactiveHandler export_supers_count 3 supers { constant_pool_index 275 // java/lang/Object constant_pool_index 304 // sim/toolkit/ViewHandler constant_pool_index 323 // sim/toolkit/EditHandler } export_interfaces_count 0 interfaces { } export_fields_count 0 fields { } export_methods_count 26 methods { method_info { token 0 access_flags public static name_index 324 // getTheHandler Descriptor_Index 403 // ()Lsim/toolkit/ProactiveHandler; } method_info { token 0 access_flags public name_index 282 // equals Descriptor_Index 283 // (Ljava/lang/Object;)Z } method_info { token 1 access_flags public name_index 284 // findTLV Descriptor_Index 285 // (BB)B } method_info { token 2 access_flags public name_index 286 // copyValue Descriptor_Index 287 // (S[BSS)S } method_info { token 3 access_flags public name_index 288 // compareValue Descriptor_Index 289 // (S[BSS)B } method_info { token 4 access_flags public name_index 290 // getValueByte Descriptor_Index 291 // (S)B } method_info { token 5 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 293 // (B[BS)S } method_info { token 6 access_flags public name_index 292 // findAndCopyValue Descriptor_Index 294 // (BBS[BSS)S } method_info { token 7 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 296 // (B[BS)B } method_info { token 8 access_flags public name_index 295 // findAndCompareValue Descriptor_Index 297 // (BBS[BSS)B } method_info { token 9 access_flags public name_index 298 // copy Descriptor_Index 299 // ([BSS)S } method_info { token 10 access_flags public name_index 300 // getLength Descriptor_Index 301 // ()S } method_info { token 11 access_flags public name_index 302 // getValueLength Descriptor_Index 301 // ()S } method_info { token 12 access_flags public name_index 313 // appendTLV Descriptor_Index 314 // (B[BSS)V } method_info { token 13 access_flags public name_index 313 // appendTLV Descriptor_Index 315 // (BB)V } method_info { token 14 access_flags public name_index 313 // appendTLV Descriptor_Index 316 // (BBB)V } method_info { token 15 access_flags public name_index 313 // appendTLV Descriptor_Index 317 // (BB[BSS)V } method_info { token 16 access_flags public name_index 318 // appendArray Descriptor_Index 319 // ([BSS)V } method_info { token 17 access_flags public name_index 320 // clear Descriptor_Index 321 // ()V } method_info { token 18 access_flags public name_index 404 // initGetInput Descriptor_Index 405 // (BB[BSSSS)V } method_info { token 19 access_flags public name_index 406 // initDisplayText Descriptor_Index 317 // (BB[BSS)V } method_info { token 20 access_flags public name_index 407 // initGetInkey Descriptor_Index 317 // (BB[BSS)V } method_info { token 21 access_flags public name_index 408 // init Descriptor_Index 316 // (BBB)V } method_info { token 22 access_flags public name_index 409 // send Descriptor_Index 327 // ()B } method_info { token 23 access_flags public name_index 410 // initCloseChannel Descriptor_Index 277 // (B)V } method_info { token 24 access_flags public name_index 337 // getCapacity Descriptor_Index 301 // ()S } } } } } ================================================ FILE: javacard/makefiles/applet-project.mk ================================================ BUILD_DIR = ./build BUILD_CLASSES_DIR = $(BUILD_DIR)/classes BUILD_JAVACARD_DIR = $(BUILD_DIR)/javacard JAVACARD_SDK_DIR ?= $(SIMTOOLS_DIR)/javacard JAVACARD_EXPORT_DIR ?= $(JAVACARD_SDK_DIR)/api21_export_files ifdef COMSPEC CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar;$(JAVACARD_SDK_DIR)/lib/sim.jar else CLASSPATH = $(JAVACARD_SDK_DIR)/lib/api21.jar:$(JAVACARD_SDK_DIR)/lib/sim.jar endif JFLAGS = -target 1.1 -source 1.3 -g -d $(BUILD_CLASSES_DIR) -classpath "$(CLASSPATH)" JAVA ?= java JC ?= javac .SUFFIXES: .java .class .java.class: mkdir -p $(BUILD_CLASSES_DIR) mkdir -p $(BUILD_JAVACARD_DIR) $(JC) $(JFLAGS) $*.java $(JAVA) -jar $(JAVACARD_SDK_DIR)/bin/converter.jar \ -d $(BUILD_JAVACARD_DIR) \ -classdir $(BUILD_CLASSES_DIR) \ -exportpath $(JAVACARD_EXPORT_DIR) \ -applet $(APPLET_AID) $(APPLET_NAME) \ $(PACKAGE_NAME) $(PACKAGE_AID) $(PACKAGE_VERSION) default: classes classes: $(SOURCES:.java=.class) clean: $(RM) -rf $(BUILD_DIR) install: $(eval CAP_FILE := $(shell find $(BUILD_JAVACARD_DIR) -name *.cap)) $(eval MODULE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g')) $(eval INSTANCE_AID := $(shell echo $(APPLET_AID) | sed 's/0x//g' | sed 's/\://g')) $(SIMTOOLS_DIR)/bin/shadysim \ $(SHADYSIM_OPTIONS) \ -l $(CAP_FILE) \ -i $(CAP_FILE) \ --enable-sim-toolkit \ --module-aid $(MODULE_AID) \ --instance-aid $(INSTANCE_AID) \ --nonvolatile-memory-required 0100 \ --volatile-memory-for-install 0100 \ --max-menu-entry-text 10 \ --max-menu-entries 01 ================================================ FILE: shadysim/pySim/__init__.py ================================================ ================================================ FILE: shadysim/pySim/cards.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Card programmation logic """ # # Copyright (C) 2009-2010 Sylvain Munaut # Copyright (C) 2011 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from pySim.utils import b2h, h2b, swap_nibbles, rpad, lpad class Card(object): def __init__(self, scc): self._scc = scc def _e_iccid(self, iccid): return swap_nibbles(rpad(iccid, 20)) def _e_imsi(self, imsi): """Converts a string imsi into the value of the EF""" l = (len(imsi) + 1) // 2 # Required bytes oe = len(imsi) & 1 # Odd (1) / Even (0) ei = '%02x' % l + swap_nibbles(lpad('%01x%s' % ((oe<<3)|1, imsi), 16)) return ei def _e_plmn(self, mcc, mnc): """Converts integer MCC/MNC into 6 bytes for EF""" return swap_nibbles(lpad('%d' % mcc, 3) + lpad('%d' % mnc, 3)) def reset(self): self._scc.reset_card() class _MagicSimBase(Card): """ Theses cards uses several record based EFs to store the provider infos, each possible provider uses a specific record number in each EF. The indexes used are ( where N is the number of providers supported ) : - [2 .. N+1] for the operator name - [1 .. N] for the programable EFs * 3f00/7f4d/8f0c : Operator Name bytes 0-15 : provider name, padded with 0xff byte 16 : length of the provider name byte 17 : 01 for valid records, 00 otherwise * 3f00/7f4d/8f0d : Programmable Binary EFs * 3f00/7f4d/8f0e : Programmable Record EFs """ @classmethod def autodetect(kls, scc): try: for p, l, t in kls._files.values(): if not t: continue if scc.record_size(['3f00', '7f4d', p]) != l: return None except: return None return kls(scc) def _get_count(self): """ Selects the file and returns the total number of entries and entry size """ f = self._files['name'] r = self._scc.select_file(['3f00', '7f4d', f[0]]) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1; if (rec_cnt < 1) or (rec_len != f[1]): raise RuntimeError('Bad card type') return rec_cnt def program(self, p): # Go to dir self._scc.select_file(['3f00', '7f4d']) # Home PLMN in PLMN_Sel format hplmn = self._e_plmn(p['mcc'], p['mnc']) # Operator name ( 3f00/7f4d/8f0c ) self._scc.update_record(self._files['name'][0], 2, rpad(b2h(p['name']), 32) + ('%02x' % len(p['name'])) + '01' ) # ICCID/IMSI/Ki/HPLMN ( 3f00/7f4d/8f0d ) v = '' # inline Ki if self._ki_file is None: v += p['ki'] # ICCID v += '3f00' + '2fe2' + '0a' + self._e_iccid(p['iccid']) # IMSI v += '7f20' + '6f07' + '09' + self._e_imsi(p['imsi']) # Ki if self._ki_file: v += self._ki_file + '10' + p['ki'] # PLMN_Sel v+= '6f30' + '18' + rpad(hplmn, 36) self._scc.update_record(self._files['b_ef'][0], 1, rpad(v, self._files['b_ef'][1]*2) ) # SMSP ( 3f00/7f4d/8f0e ) # FIXME # Write PLMN_Sel forcefully as well r = self._scc.select_file(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = self._e_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (tl-3)) def erase(self): # Dummy df = {} for k, v in self._files.iteritems(): ofs = 1 fv = v[1] * 'ff' if k == 'name': ofs = 2 fv = fv[0:-4] + '0000' df[v[0]] = (fv, ofs) # Write for n in range(0,self._get_count()): for k, (msg, ofs) in df.iteritems(): self._scc.update_record(['3f00', '7f4d', k], n + ofs, msg) class SuperSim(_MagicSimBase): name = 'supersim' _files = { 'name' : ('8f0c', 18, True), 'b_ef' : ('8f0d', 74, True), 'r_ef' : ('8f0e', 50, True), } _ki_file = None class MagicSim(_MagicSimBase): name = 'magicsim' _files = { 'name' : ('8f0c', 18, True), 'b_ef' : ('8f0d', 130, True), 'r_ef' : ('8f0e', 102, False), } _ki_file = '6f1b' class FakeMagicSim(Card): """ Theses cards have a record based EF 3f00/000c that contains the provider informations. See the program method for its format. The records go from 1 to N. """ name = 'fakemagicsim' @classmethod def autodetect(kls, scc): try: if scc.record_size(['3f00', '000c']) != 0x5a: return None except: return None return kls(scc) def _get_infos(self): """ Selects the file and returns the total number of entries and entry size """ r = self._scc.select_file(['3f00', '000c']) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1; if (rec_cnt < 1) or (rec_len != 0x5a): raise RuntimeError('Bad card type') return rec_cnt, rec_len def program(self, p): # Home PLMN r = self._scc.select_file(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = self._e_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (tl-3)) # Get total number of entries and entry size rec_cnt, rec_len = self._get_infos() # Set first entry entry = ( '81' + # 1b Status: Valid & Active rpad(b2h(p['name'][0:14]), 28) + # 14b Entry Name self._e_iccid(p['iccid']) + # 10b ICCID self._e_imsi(p['imsi']) + # 9b IMSI_len + id_type(9) + IMSI p['ki'] + # 16b Ki lpad(p['smsp'], 80) # 40b SMSP (padded with ff if needed) ) self._scc.update_record('000c', 1, entry) def erase(self): # Get total number of entries and entry size rec_cnt, rec_len = self._get_infos() # Erase all entries entry = 'ff' * rec_len for i in range(0, rec_cnt): self._scc.update_record('000c', 1+i, entry) class GrcardSim(Card): """ Greencard (grcard.cn) HZCOS GSM SIM These cards have a much more regular ISO 7816-4 / TS 11.11 structure, and use standard UPDATE RECORD / UPDATE BINARY commands except for Ki. """ name = 'grcardsim' @classmethod def autodetect(kls, scc): return None def program(self, p): # We don't really know yet what ADM PIN 4 is about #self._scc.verify_chv(4, h2b("4444444444444444")) # Authenticate using ADM PIN 5 self._scc.verify_chv(5, h2b("4444444444444444")) # EF.ICCID r = self._scc.select_file(['3f00', '2fe2']) data, sw = self._scc.update_binary('2fe2', self._e_iccid(p['iccid'])) # EF.IMSI r = self._scc.select_file(['3f00', '7f20', '6f07']) data, sw = self._scc.update_binary('6f07', self._e_imsi(p['imsi'])) # EF.ACC #r = self._scc.select_file(['3f00', '7f20', '6f78']) #self._scc.update_binary('6f78', self._e_imsi(p['imsi']) # EF.SMSP r = self._scc.select_file(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) # Set the Ki using proprietary command pdu = '80d4020010' + p['ki'] data, sw = self._scc._tp.send_apdu(pdu) # EF.HPLMN r = self._scc.select_file(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) hplmn = self._e_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) # EF.SPN (Service Provider Name) r = self._scc.select_file(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) # FIXME # FIXME: EF.MSISDN def erase(self): return class SysmoSIMgr1(GrcardSim): """ sysmocom sysmoSIM-GR1 These cards have a much more regular ISO 7816-4 / TS 11.11 structure, and use standard UPDATE RECORD / UPDATE BINARY commands except for Ki. """ name = 'sysmosim-gr1' # In order for autodetection ... class SysmoUSIMgr1(Card): """ sysmocom sysmoUSIM-GR1 """ name = 'sysmoUSIM-GR1' @classmethod def autodetect(kls, scc): # TODO: Access the ATR return None def program(self, p): # TODO: check if verify_chv could be used or what it needs # self._scc.verify_chv(0x0A, [0x33,0x32,0x32,0x31,0x33,0x32,0x33,0x32]) # Unlock the card.. data, sw = self._scc._tp.send_apdu_checksw("0020000A083332323133323332") # TODO: move into SimCardCommands par = ( p['ki'] + # 16b K p['opc'] + # 32b OPC self._e_iccid(p['iccid']) + # 10b ICCID self._e_imsi(p['imsi']) # 9b IMSI_len + id_type(9) + IMSI ) data, sw = self._scc._tp.send_apdu_checksw("0099000033" + par) def erase(self): return _cards_classes = [ FakeMagicSim, SuperSim, MagicSim, GrcardSim, SysmoSIMgr1, SysmoUSIMgr1 ] ================================================ FILE: shadysim/pySim/commands.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: SIM Card commands according to ISO 7816-4 and TS 11.11 """ # # Copyright (C) 2009-2010 Sylvain Munaut # Copyright (C) 2010 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from pySim.utils import rpad, b2h class SimCardCommands(object): def __init__(self, transport): self._tp = transport; def select_file(self, dir_list): rv = [] for i in dir_list: data, sw = self._tp.send_apdu_checksw("a0a4000002" + i) rv.append(data) return rv def read_binary(self, ef, length=None, offset=0): if not hasattr(type(ef), '__iter__'): ef = [ef] r = self.select_file(ef) if length is None: length = int(r[-1][4:8], 16) - offset pdu = 'a0b0%04x%02x' % (offset, (min(256, length) & 0xff)) return self._tp.send_apdu(pdu) def update_binary(self, ef, data, offset=0): if not hasattr(type(ef), '__iter__'): ef = [ef] self.select_file(ef) pdu = 'a0d6%04x%02x' % (offset, len(data)/2) + data return self._tp.send_apdu_checksw(pdu) def read_record(self, ef, rec_no): if not hasattr(type(ef), '__iter__'): ef = [ef] r = self.select_file(ef) rec_length = int(r[-1][28:30], 16) pdu = 'a0b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) def update_record(self, ef, rec_no, data, force_len=False): if not hasattr(type(ef), '__iter__'): ef = [ef] r = self.select_file(ef) if not force_len: rec_length = int(r[-1][28:30], 16) if (len(data)/2 != rec_length): raise ValueError('Invalid data length (expected %d, got %d)' % (rec_length, len(data)/2)) else: rec_length = len(data)/2 pdu = ('a0dc%02x04%02x' % (rec_no, rec_length)) + data return self._tp.send_apdu_checksw(pdu) def record_size(self, ef): r = self.select_file(ef) return int(r[-1][28:30], 16) def record_count(self, ef): r = self.select_file(ef) return int(r[-1][4:8], 16) // int(r[-1][28:30], 16) def run_gsm(self, rand): if len(rand) != 32: raise ValueError('Invalid rand') self.select_file(['3f00', '7f20']) return self._tp.send_apdu('a088000010' + rand) def reset_card(self): return self._tp.reset_card() def verify_chv(self, chv_no, code): fc = rpad(b2h(code), 16) return self._tp.send_apdu_checksw('a02000' + ('%02x' % chv_no) + '08' + fc) ================================================ FILE: shadysim/pySim/exceptions.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Exceptions """ # # Copyright (C) 2009-2010 Sylvain Munaut # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from __future__ import absolute_import import exceptions class NoCardError(exceptions.Exception): pass class ProtocolError(exceptions.Exception): pass ================================================ FILE: shadysim/pySim/transport/__init__.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link base """ # # Copyright (C) 2009-2010 Sylvain Munaut # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # class LinkBase(object): def wait_for_card(self, timeout=None, newcardonly=False): """wait_for_card(): Wait for a card and connect to it timeout : Maximum wait time (None=no timeout) newcardonly : Should we wait for a new card, or an already inserted one ? """ pass def connect(self): """connect(): Connect to a card immediately """ pass def disconnect(self): """disconnect(): Disconnect from card """ pass def reset_card(self): """reset_card(): Resets the card (power down/up) """ pass def send_apdu_raw(self, pdu): """send_apdu_raw(pdu): Sends an APDU with minimal processing pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where data : string (in hex) of returned data (ex. "074F4EFFFF") sw : string (in hex) of status word (ex. "9000") """ pass def send_apdu(self, pdu): """send_apdu(pdu): Sends an APDU and auto fetch response data pdu : string of hexadecimal characters (ex. "A0A40000023F00") return : tuple(data, sw), where data : string (in hex) of returned data (ex. "074F4EFFFF") sw : string (in hex) of status word (ex. "9000") """ data, sw = self.send_apdu_raw(pdu) if (sw is not None) and (sw[0:2] == '9f'): pdu_gr = pdu[0:2] + 'c00000' + sw[2:4] data, sw = self.send_apdu_raw(pdu_gr) return data, sw def send_apdu_checksw(self, pdu, sw="9000"): """send_apdu_checksw(pdu,sw): Sends an APDU and check returned SW pdu : string of hexadecimal characters (ex. "A0A40000023F00") sw : string of 4 hexadecimal characters (ex. "9000") return : tuple(data, sw), where data : string (in hex) of returned data (ex. "074F4EFFFF") sw : string (in hex) of status word (ex. "9000") """ rv = self.send_apdu(pdu) if sw.lower() != rv[1]: raise RuntimeError("SW match failed ! Expected %s and got %s." % (sw.lower(), rv[1])) return rv ================================================ FILE: shadysim/pySim/transport/pcsc.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link """ # # Copyright (C) 2009-2010 Sylvain Munaut # Copyright (C) 2010 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from smartcard.CardRequest import CardRequest from smartcard.Exceptions import NoCardException, CardRequestTimeoutException from smartcard.System import readers from pySim.exceptions import NoCardError from pySim.transport import LinkBase from pySim.utils import h2i, i2h class PcscSimLink(LinkBase): def __init__(self, reader_number=0): r = readers(); self._reader = r[reader_number] self._con = self._reader.createConnection() def __del__(self): self._con.disconnect() return def wait_for_card(self, timeout=None, newcardonly=False): cr = CardRequest(readers=[self._reader], timeout=timeout, newcardonly=newcardonly) try: cr.waitforcard() except CardRequestTimeoutException: raise NoCardError() self.connect() def connect(self): try: self._con.connect() except NoCardException: raise NoCardError() def disconnect(self): self._con.disconnect() def reset_card(self): self._con.disconnect() try: self._con.connect() except NoCardException: raise NoCardError() return 1 def send_apdu_raw(self, pdu): """see LinkBase.send_apdu_raw""" apdu = h2i(pdu) data, sw1, sw2 = self._con.transmit(apdu) sw = [sw1, sw2] # Return value return i2h(data), i2h(sw) ================================================ FILE: shadysim/pySim/transport/serial.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for serial (RS232) based readers included with simcard """ # # Copyright (C) 2009-2010 Sylvain Munaut # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from __future__ import absolute_import import serial import time from pySim.exceptions import NoCardError, ProtocolError from pySim.transport import LinkBase from pySim.utils import h2b, b2h class SerialSimLink(LinkBase): def __init__(self, device='/dev/ttyUSB0', baudrate=9600, rst='-rts', debug=False): self._sl = serial.Serial( port = device, parity = serial.PARITY_EVEN, bytesize = serial.EIGHTBITS, stopbits = serial.STOPBITS_TWO, timeout = 1, xonxoff = 0, rtscts = 0, baudrate = baudrate, ) self._rst_pin = rst self._debug = debug def __del__(self): self._sl.close() def wait_for_card(self, timeout=None, newcardonly=False): # Direct try existing = False try: self.reset_card() if not newcardonly: return else: existing = True except NoCardError: pass # Poll ... mt = time.time() + timeout if timeout is not None else None pe = 0 while (mt is None) or (time.time() < mt): try: time.sleep(0.5) self.reset_card() if not existing: return except NoCardError: existing = False except ProtocolError: if existing: existing = False else: # Tolerate a couple of protocol error ... can happen if # we try when the card is 'half' inserted pe += 1 if (pe > 2): raise # Timed out ... raise NoCardError() def connect(self): self.reset_card() def disconnect(self): pass # Nothing to do really ... def reset_card(self): rv = self._reset_card() if rv == 0: raise NoCardError() elif rv < 0: raise ProtocolError() def _reset_card(self): rst_meth_map = { 'rts': self._sl.setRTS, 'dtr': self._sl.setDTR, } rst_val_map = { '+':0, '-':1 } try: rst_meth = rst_meth_map[self._rst_pin[1:]] rst_val = rst_val_map[self._rst_pin[0]] except: raise ValueError('Invalid reset pin %s' % self._rst_pin); rst_meth(rst_val) time.sleep(0.1) # 100 ms self._sl.flushInput() rst_meth(rst_val ^ 1) b = self._rx_byte() if not b: return 0 if ord(b) != 0x3b: return -1; self._dbg_print("TS: 0x%x Direct convention" % ord(b)) while ord(b) == 0x3b: b = self._rx_byte() if not b: return -1 t0 = ord(b) self._dbg_print("T0: 0x%x" % t0) for i in range(4): if t0 & (0x10 << i): self._dbg_print("T%si = %x" % (chr(ord('A')+i), ord(self._rx_byte()))) for i in range(0, t0 & 0xf): self._dbg_print("Historical = %x" % ord(self._rx_byte())) while True: x = self._rx_byte() if not x: break self._dbg_print("Extra: %x" % ord(x)) return 1 def _dbg_print(self, s): if self._debug: print s def _tx_byte(self, b): self._sl.write(b) r = self._sl.read() if r != b: # TX and RX are tied, so we must clear the echo raise ProtocolError("Bad echo value. Expected %02x, got %s)" % (ord(b), '%02x'%ord(r) if r else '(nil)')) def _tx_string(self, s): """This is only safe if it's guaranteed the card won't send any data during the time of tx of the string !!!""" self._sl.write(s) r = self._sl.read(len(s)) if r != s: # TX and RX are tied, so we must clear the echo raise ProtocolError("Bad echo value (Expected: %s, got %s)" % (b2h(s), b2h(r))) def _rx_byte(self): return self._sl.read() def send_apdu_raw(self, pdu): """see LinkBase.send_apdu_raw""" pdu = h2b(pdu) data_len = ord(pdu[4]) # P3 # Send first CLASS,INS,P1,P2,P3 self._tx_string(pdu[0:5]) # Wait ack which can be # - INS: Command acked -> go ahead # - 0x60: NULL, just wait some more # - SW1: The card can apparently proceed ... while True: b = self._rx_byte() if b == pdu[1]: break elif b != '\x60': # Ok, it 'could' be SW1 sw1 = b sw2 = self._rx_byte() nil = self._rx_byte() if (sw2 and not nil): return '', b2h(sw1+sw2) raise ProtocolError() # Send data (if any) if len(pdu) > 5: self._tx_string(pdu[5:]) # Receive data (including SW !) # length = [P3 - tx_data (=len(pdu)-len(hdr)) + 2 (SW1/2) ] to_recv = data_len - len(pdu) + 5 + 2 data = '' while (len(data) < to_recv): b = self._rx_byte() if (to_recv == 2) and (b == '\x60'): # Ignore NIL if we have no RX data (hack ?) continue if not b: break; data += b # Split datafield from SW if len(data) < 2: return None, None sw = data[-2:] data = data[0:-2] # Return value return b2h(data), b2h(sw) ================================================ FILE: shadysim/pySim/utils.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: various utilities """ # # Copyright (C) 2009-2010 Sylvain Munaut # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # def h2b(s): return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2])]) def b2h(s): return ''.join(['%02x'%ord(x) for x in s]) def h2i(s): return [(int(x,16)<<4)+int(y,16) for x,y in zip(s[0::2], s[1::2])] def i2h(s): return ''.join(['%02x'%(x) for x in s]) def swap_nibbles(s): return ''.join([x+y for x,y in zip(s[1::2], s[0::2])]) def rpad(s, l, c='f'): return s + c * (l - len(s)) def lpad(s, l, c='f'): return c * (l - len(s)) + s ================================================ FILE: shadysim/shadysim.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ toorsimtool.py: A toolkit for the Toorcamp SIM cards Requires the pySim libraries (http://cgit.osmocom.org/cgit/pysim/) """ # # Copyright (C) 2012 Karl Koscher # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # from pySim.commands import SimCardCommands from pySim.utils import swap_nibbles, rpad, b2h try: import argparse except Exception, err: print "Missing argparse -- try apt-get install python-argparse" import zipfile import time import struct #------ def hex_ber_length(data): dataLen = len(data) / 2 if dataLen < 0x80: return '%02x' % dataLen dataLen = '%x' % dataLen lenDataLen = len(dataLen) if lenDataLen % 2: dataLen = '0' + dataLen lenDataLen = lenDataLen + 1 return ('%02x' % (0x80 + (lenDataLen / 2))) + dataLen class AppLoaderCommands(object): def __init__(self, transport): self._tp = transport self._apduCounter = 0; def send_terminal_profile(self): return self._tp.send_apdu_checksw('A010000011FFFF000000000000000000000000000000') # Wrap an APDU inside an SMS-PP APDU def send_wrapped_apdu(self, data): # Command packet header # SPI: PoR required # TAR: Remote App Management (000000) envelopeData = '0D0001000000000000000000' + ('%02x' % (self._apduCounter & 0xff)) + '00' + data; self._apduCounter = self._apduCounter + 1 # Command envelopeData = '027000' + ('%04x' % (len(envelopeData) / 2)) + envelopeData; # SMS-TDPU header: MS-Delivery, no more messages, TP-UD header, no reply path, # TP-OA = TON/NPI 55667788, TP-PID = SIM Download, BS timestamp envelopeData = '400881556677887ff600112912000004' + ('%02x' % (len(envelopeData) / 2)) + envelopeData; # (82) Device Identities: (83) Network to (81) USIM # (8b) SMS-TPDU envelopeData = '820283818B' + hex_ber_length(envelopeData) + envelopeData # d1 = SMS-PP Download, d2 = Cell Broadcast Download envelopeData = 'd1' + hex_ber_length(envelopeData) + envelopeData; response = self._tp.send_apdu_checksw('a0c20000' + ('%02x' % (len(envelopeData) / 2)) + envelopeData)[0] # Unwrap response response = response[(int(response[10:12],16)*2)+12:] return (response[6:], response[2:6]) def send_wrapped_apdu_checksw(self, data, sw="9000"): response = self.send_wrapped_apdu(data) if response[1] != sw: raise RuntimeError("SW match failed! Expected %s and got %s." % (sw.lower(), response[1])) return response def get_security_domain_aid(self): # Get Status followed by Get Response response = self.send_wrapped_apdu_checksw('80F28000024F0000C0000000')[0] return response[2:(int(response[0:2],16)*2)+2] def delete_aid(self, aid, delete_related=True): aidDesc = '4f' + ('%02x' % (len(aid) / 2)) + aid apdu = '80e400' + ('80' if delete_related else '00') + ('%02x' % (len(aidDesc) / 2)) + aidDesc + '00c0000000' return self.send_wrapped_apdu_checksw(apdu) def load_aid_raw(self, aid, executable, codeSize, volatileDataSize = 0, nonvolatileDataSize = 0): loadParameters = 'c602' + ('%04x' % codeSize) if volatileDataSize > 0: loadParameters = loadParameters + 'c702' ('%04x' % volatileDataSize) if nonvolatileDataSize > 0: loadParameters = loadParameters + 'c802' ('%04x' % nonvolatileDataSize) loadParameters = 'ef' + ('%02x' % (len(loadParameters) / 2)) + loadParameters # Install for load APDU, no security domain or hash specified data = ('%02x' % (len(aid) / 2)) + aid + '0000' + ('%02x' % (len(loadParameters) / 2)) + loadParameters + '0000' self.send_wrapped_apdu_checksw('80e60200' + ('%02x' % (len(data) / 2)) + data + '00c0000000') # Load APDUs loadData = 'c4' + hex_ber_length(executable) + executable loadBlock = 0; while len(loadData): if len(loadData) > 0xd8: apdu = '80e800' + ('%02x' % loadBlock) + '6c' + loadData[:0xd8] loadData = loadData[0xd8:] loadBlock = loadBlock + 1 else: apdu = '80e880' + ('%02x' % loadBlock) + ('%02x' % (len(loadData) / 2)) + loadData loadData = '' self.send_wrapped_apdu_checksw(apdu + '00c0000000') def generate_load_file(self, capfile): zipcap = zipfile.ZipFile(capfile) zipfiles = zipcap.namelist() header = None directory = None impt = None applet = None clas = None method = None staticfield = None export = None constpool = None reflocation = None for i, filename in enumerate(zipfiles): if filename.lower().endswith('header.cap'): header = zipcap.read(filename) elif filename.lower().endswith('directory.cap'): directory = zipcap.read(filename) elif filename.lower().endswith('import.cap'): impt = zipcap.read(filename) elif filename.lower().endswith('applet.cap'): applet = zipcap.read(filename) elif filename.lower().endswith('class.cap'): clas = zipcap.read(filename) elif filename.lower().endswith('method.cap'): method = zipcap.read(filename) elif filename.lower().endswith('staticfield.cap'): staticfield = zipcap.read(filename) elif filename.lower().endswith('export.cap'): export = zipcap.read(filename) elif filename.lower().endswith('constantpool.cap'): constpool = zipcap.read(filename) elif filename.lower().endswith('reflocation.cap'): reflocation = zipcap.read(filename) data = header.encode("hex") if directory: data = data + directory.encode("hex") if impt: data = data + impt.encode("hex") if applet: data = data + applet.encode("hex") if clas: data = data + clas.encode("hex") if method: data = data + method.encode("hex") if staticfield: data = data + staticfield.encode("hex") if export: data = data + export.encode("hex") if constpool: data = data + constpool.encode("hex") if reflocation: data = data + reflocation.encode("hex") return data def get_aid_from_load_file(self, data): return data[26:26+(int(data[24:26],16)*2)] def load_app(self, capfile): data = self.generate_load_file(capfile) aid = self.get_aid_from_load_file(data) self.load_aid_raw(aid, data, len(data) / 2) def install_app(self, args): loadfile = self.generate_load_file(args.install) aid = self.get_aid_from_load_file(loadfile) toolkit_params = '' if args.enable_sim_toolkit: assert len(args.access_domain) % 2 == 0 assert len(args.priority_level) == 2 toolkit_params = ('%02x' % (len(args.access_domain) / 2)) + args.access_domain toolkit_params = toolkit_params + args.priority_level + ('%02x' % args.max_timers) toolkit_params = toolkit_params + ('%02x' % args.max_menu_entry_text) toolkit_params = toolkit_params + ('%02x' % args.max_menu_entries) + '0000' * args.max_menu_entries + '0000' if args.tar: assert len(args.tar) % 6 == 0 toolkit_params = toolkit_params + ('%02x' % (len(args.tar) / 2)) + args.tar toolkit_params = 'ca' + ('%02x' % (len(toolkit_params) / 2)) + toolkit_params assert len(args.nonvolatile_memory_required) == 4 assert len(args.volatile_memory_for_install) == 4 parameters = 'c802' + args.nonvolatile_memory_required + 'c702' + args.volatile_memory_for_install if toolkit_params: parameters = parameters + toolkit_params parameters = 'ef' + ('%02x' % (len(parameters) / 2)) + parameters + 'c9' + ('%02x' % (len(args.app_parameters) / 2)) + args.app_parameters data = ('%02x' % (len(aid) / 2)) + aid + ('%02x' % (len(args.module_aid) / 2)) + args.module_aid + ('%02x' % (len(args.instance_aid) / 2)) + \ args.instance_aid + '0100' + ('%02x' % (len(parameters) / 2)) + parameters + '00' self.send_wrapped_apdu_checksw('80e60c00' + ('%02x' % (len(data) / 2)) + data + '00c0000000') #------ parser = argparse.ArgumentParser(description='Tool for Toorcamp SIMs.') parser.add_argument('-s', '--serialport') parser.add_argument('-p', '--pcsc', nargs='?', const=0, type=int) parser.add_argument('-d', '--delete-app') parser.add_argument('-l', '--load-app') parser.add_argument('-i', '--install') parser.add_argument('--module-aid') parser.add_argument('--instance-aid') parser.add_argument('--nonvolatile-memory-required', default='0000') parser.add_argument('--volatile-memory-for-install', default='0000') parser.add_argument('--enable-sim-toolkit', action='store_true') parser.add_argument('--access-domain', default='ff') parser.add_argument('--priority-level', default='01') parser.add_argument('--max-timers', type=int, default=0) parser.add_argument('--max-menu-entry-text', type=int, default=16) parser.add_argument('--max-menu-entries', type=int, default=0) parser.add_argument('--app-parameters', default='') parser.add_argument('--print-info', action='store_true') parser.add_argument('-n', '--new-card-required', action='store_true') parser.add_argument('-z', '--sleep_after_insertion', type=float, default=0.0) parser.add_argument('--disable-pin') parser.add_argument('--pin') parser.add_argument('-t', '--list-applets', action='store_true') parser.add_argument('--tar') parser.add_argument('--dump-phonebook', action='store_true') parser.add_argument('--set-phonebook-entry', nargs=4) args = parser.parse_args() if args.pcsc is not None: from pySim.transport.pcsc import PcscSimLink sl = PcscSimLink(args.pcsc) elif args.serialport is not None: from pySim.transport.serial import SerialSimLink sl = SerialSimLink(device=args.serialport, baudrate=9600) else: raise RuntimeError("Need to specify either --serialport or --pcsc") sc = SimCardCommands(sl) ac = AppLoaderCommands(sl) sl.wait_for_card(newcardonly=args.new_card_required) time.sleep(args.sleep_after_insertion) # Get the ICCID print "ICCID: " + swap_nibbles(sc.read_binary(['3f00', '2fe2'])[0]) ac.send_terminal_profile() if args.pin: sc.verify_chv(1, args.pin) if args.delete_app: ac.delete_aid(args.delete_app) if args.load_app: ac.load_app(args.load_app) if args.install: ac.install_app(args) if args.print_info: print "--print-info not implemented yet." if args.disable_pin: sl.send_apdu_checksw('0026000108' + args.disable_pin.encode("hex") + 'ff' * (8 - len(args.disable_pin))) if args.dump_phonebook: num_records = sc.record_count(['3f00','7f10','6f3a']) print ("Phonebook: %d records available" % num_records) for record_id in range(1, num_records + 1): print sc.read_record(['3f00','7f10','6f3a'], record_id) if args.set_phonebook_entry: num_records = sc.record_count(['3f00','7f10','6f3a']) record_size = sc.record_size(['3f00','7f10','6f3a']) record_num = int(args.set_phonebook_entry[0]) if (record_num < 1) or (record_num > num_records): raise RuntimeError("Invalid phonebook record number") encoded_name = rpad(b2h(args.set_phonebook_entry[1]), (record_size - 14) * 2) if len(encoded_name) > ((record_size - 14) * 2): raise RuntimeError("Name is too long") if len(args.set_phonebook_entry[2]) > 20: raise RuntimeError("Number is too long") encoded_number = swap_nibbles(rpad(args.set_phonebook_entry[2], 20)) record = encoded_name + ('%02x' % len(args.set_phonebook_entry[2])) + args.set_phonebook_entry[3] + encoded_number + 'ffff' sc.update_record(['3f00','7f10','6f3a'], record_num, record) if args.list_applets: (data, status) = ac.send_wrapped_apdu('80f21000024f0000c0000000') while status == '6310': (partData, status) = ac.send_wrapped_apdu('80f21001024f0000c0000000') data = data + partData while len(data) > 0: aidlen = int(data[0:2],16) * 2 aid = data[2:aidlen + 2] state = data[aidlen + 2:aidlen + 4] privs = data[aidlen + 4:aidlen + 6] num_instances = int(data[aidlen + 6:aidlen + 8], 16) print 'AID: ' + aid + ', State: ' + state + ', Privs: ' + privs data = data[aidlen + 8:] while num_instances > 0: aidlen = int(data[0:2],16) * 2 aid = data[2:aidlen + 2] print "\tInstance AID: " + aid data = data[aidlen + 2:] num_instances = num_instances - 1 ================================================ FILE: shadysim/toorsimtool-2014.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- """ simprep-2014.py: A tool for the Toorcamp SIM cards in 2014 Requires the pySim libraries (http://cgit.osmocom.org/cgit/pysim/) """ # # Copyright (C) 2012 Karl Koscher # Portions copyright (C) 2014 Astrid Smith # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # I think the only thing holding us back from python3 is: # ImportError: No module named 'smartcard' # ? from pySim.commands import SimCardCommands from pySim.utils import swap_nibbles, rpad, b2h import argparse import zipfile import time import struct import sqlite3 #------ def hex_ber_length(data): dataLen = len(data) / 2 if dataLen < 0x80: return '%02x' % dataLen dataLen = '%x' % dataLen lenDataLen = len(dataLen) if lenDataLen % 2: dataLen = '0' + dataLen lenDataLen = lenDataLen + 1 return ('%02x' % (0x80 + (lenDataLen / 2))) + dataLen def clear_phonebook(): for record_num in range(1, sc.record_count(['3f00', '7f10', '6f3a'])): sc.update_record(['3f00', '7f10', '6f3a'], record_num, 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff') def set_phonebook(slot, name, number, capability='ff'): num_records = sc.record_count(['3f00','7f10','6f3a']) record_size = sc.record_size(['3f00','7f10','6f3a']) record_num = int(slot) if (record_num < 1) or (record_num > num_records): raise RuntimeError("Invalid phonebook record number") encoded_name = rpad(b2h(name), (record_size - 14) * 2) if len(encoded_name) > ((record_size - 14) * 2): raise RuntimeError("Name is longer than %s bytes" % ((record_size-14))) if len(number) > 20: raise RuntimeError("Number is too long") encoded_number = swap_nibbles(rpad(number, 20)) record = encoded_name + ('%02x' % len(number)) + capability + encoded_number + 'ffff' sc.update_record(['3f00','7f10','6f3a'], record_num, record) def get_imsi(): imsi_raw = (sc.read_binary(['3f00', '7f20', '6f07'])[0]) imsi_len = imsi_raw[1] imsi = swap_nibbles(imsi_raw[2:])[1:] print ("IMSI: %s" % imsi) return imsi # Ask the user for the name of the customer def get_name(): return raw_input("Enter subscriber name: ") def get_next_extension(db): cur = db.cursor() last_extn = cur.execute("select extension from subscriber where extension like '22____' order by extension desc limit 1;").fetchone()[0] return "%06d" % (int(last_extn) + 1) parser = argparse.ArgumentParser(description='Tool for Toorcamp 2014 SIMs.') parser.add_argument('-s', '--serialport') parser.add_argument('-p', '--pcsc', nargs='?', const=0, type=int) parser.add_argument('-i', '--install') parser.add_argument('--print-info', action='store_true') parser.add_argument('-n', '--new-card-required', action='store_true') parser.add_argument('-z', '--sleep_after_insertion', type=float, default=0.0) parser.add_argument('--disable-pin') parser.add_argument('--pin') parser.add_argument('--tar') parser.add_argument('--dump-phonebook', action='store_true') parser.add_argument('--set-phonebook-entry', nargs=4) parser.add_argument('--record', action="store_true") parser.add_argument('--print') parser.add_argument('--sqlite-db', nargs=1) args = parser.parse_args() if args.pcsc is not None: from pySim.transport.pcsc import PcscSimLink sl = PcscSimLink(args.pcsc) elif args.serialport is not None: from pySim.transport.serial import SerialSimLink sl = SerialSimLink(device=args.serialport, baudrate=9600) else: raise RuntimeError("Need to specify either --serialport or --pcsc") sc = SimCardCommands(sl) sl.wait_for_card(newcardonly=args.new_card_required) time.sleep(args.sleep_after_insertion) # Get the ICCID print("ICCID: %s" % swap_nibbles(sc.read_binary(['3f00', '2fe2'])[0])) if args.pin: sc.verify_chv(1, args.pin) if args.print_info: print("--print-info not implemented yet.") if args.disable_pin: sl.send_apdu_checksw('0026000108' + args.disable_pin.encode("hex") + 'ff' * (8 - len(args.disable_pin))) if args.dump_phonebook: num_records = sc.record_count(['3f00','7f10','6f3a']) print("Phonebook: %d records available" % num_records) for record_id in range(1, num_records + 1): print(sc.read_record(['3f00','7f10','6f3a'], record_id)) if args.sqlite_db: dbh = sqlite3.connect(args.sqlite_db[0]) if args.set_phonebook_entry: set_phonebook(args.set_phonebook_entry[0], args.set_phonebook_entry[1], args.set_phonebook_entry[2], args.set_phonebook_entry[3]) # This is a SIM card to put into the HLR. """ CREATE TABLE Subscriber ( id INTEGER PRIMARY KEY AUTOINCREMENT, created TIMESTAMP NOT NULL, updated TIMESTAMP NOT NULL, imsi NUMERIC UNIQUE NOT NULL, name TEXT, extension TEXT UNIQUE, authorized INTEGER NOT NULL DEFAULT 0, tmsi TEXT UNIQUE, lac INTEGER NOT NULL DEFAULT 0, expire_lu TIMESTAMP DEFAULT NULL ); """ # if args.record: name = get_name() imsi = get_imsi() # takes a minute or two clear_phonebook() set_phonebook(1, "Shadytel", "3000") set_phonebook(2, "Toorcamp Reg", "3001") set_phonebook(3, "Toorcamp Admin", "3002") set_phonebook(4, "Tone test", "720") set_phonebook(5, "Echo test", "722") extn = get_next_extension(dbh) print("Extension: %s" % extn) dbh.cursor().execute("insert into subscriber (name, imsi, extension, authorized, created, updated) values (?, ?, ?, 1, datetime('now'), datetime('now') );", (name, imsi, extn)) dbh.commit()