simutil: Introduce 2G and 3G parent paths
authorDenis Kenzior <denkenz@gmail.com>
Thu, 22 Nov 2012 14:24:03 +0000 (08:24 -0600)
committerDenis Kenzior <denkenz@gmail.com>
Thu, 22 Nov 2012 16:26:34 +0000 (10:26 -0600)
src/simutil.c
src/simutil.h

index 016b5f7..a37dc65 100644 (file)
@@ -70,60 +70,45 @@ struct opl_operator {
 #define ROOTMF 0x3F00
 
 static struct sim_ef_info ef_db[] = {
-{      0x2F05, ROOTMF, EF, BINARY, 0,          ALW,    PIN     },
-{      0x2F06, ROOTMF, EF, RECORD, 0,          ALW,    PIN     },
-{      0x2FE2, ROOTMF, EF, BINARY, 10,         ALW,    NEV     },
-{      0x4F20, 0x5F50, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F05, 0x7F20, EF, BINARY, 0,          ALW,    PIN     },
-{      0x6F06, 0x0000, EF, RECORD, 0,          ALW,    ADM     },
-{      0x6F07, 0x0000, EF, BINARY, 9,          PIN,    ADM     },
-{      0x6F14, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F15, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F18, 0x7F20, EF, BINARY, 10,         PIN,    ADM     },
-{      0x6F2C, 0x7F20, EF, BINARY, 16,         PIN,    PIN     },
-{      0x6F30, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F32, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F37, 0x7F20, EF, BINARY, 3,          PIN,    PIN2    },
-{      0x6F38, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F39, 0x7F20, EF, CYCLIC, 3,          PIN,    PIN2    },
-{      0x6F3B, 0x7F10, EF, RECORD, 0,          PIN,    PIN2    },
-{      0x6F3E, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F3F, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F40, 0x7F10, EF, RECORD, 0,          PIN,    PIN     },
-{      0x6F41, 0x7F20, EF, BINARY, 5,          PIN,    PIN2    },
-{      0x6F42, 0x7F10, EF, RECORD, 0,          PIN,    PIN     },
-{      0x6F44, 0x7F10, EF, CYCLIC, 0,          PIN,    PIN     },
-{      0x6F45, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F46, 0x7F20, EF, BINARY, 17,         ALW,    ADM     },
-{      0x6F48, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F49, 0x7F10, EF, RECORD, 0,          PIN,    ADM     },
-{      0x6F4D, 0x7F20, EF, RECORD, 0,          PIN,    PIN2    },
-{      0x6F50, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F51, 0x7F20, EF, RECORD, 0,          PIN,    ADM     },
-{      0x6F53, 0x7F20, EF, BINARY, 14,         PIN,    PIN     },
-{      0x6F56, 0x0000, EF, BINARY, 0,          PIN,    PIN2    },
-{      0x6F60, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F61, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F62, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6F73, 0x0000, EF, BINARY, 14,         PIN,    PIN     },
-{      0x6F7B, 0x7F20, EF, BINARY, 0,          PIN,    PIN     },
-{      0x6F7E, 0x7F20, EF, BINARY, 11,         PIN,    PIN     },
-{      0x6FAD, 0x7F20, EF, BINARY, 0,          ALW,    ADM     },
-{      0x6FAE, 0x7F20, EF, BINARY, 1,          ALW,    ADM     },
-{      0x6FB7, 0x7F20, EF, BINARY, 0,          ALW,    ADM     },
-{      0x6FC5, 0x7F20, EF, RECORD, 0,          ALW,    ADM     },
-{      0x6FC6, 0x7F20, EF, RECORD, 0,          ALW,    ADM     },
-{      0x6FC7, 0x7F20, EF, RECORD, 0,          PIN,    PIN     },
-{      0x6FC9, 0x7F20, EF, RECORD, 0,          PIN,    PIN     },
-{      0x6FCA, 0x7F20, EF, RECORD, 0,          PIN,    PIN     },
-{      0x6FCB, 0x7F20, EF, RECORD, 16,         PIN,    PIN     },
-{      0x6FCD, 0x7F20, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6FD9, 0x0000, EF, BINARY, 0,          PIN,    ADM     },
-{      0x6FDB, 0x0000, EF, BINARY, 1,          PIN,    ADM     },
-{      0x6FDC, 0x0000, EF, BINARY, 1,          PIN,    ADM     },
-{      0x6FDE, 0x0000, EF, BINARY, 0,          ALW,    ADM     },
-{      0x6FDF, 0x0000, EF, RECORD, 0,          ALW,    ADM     },
-{      0x6FE3, 0x0000, EF, BINARY, 18,         PIN,    PIN     },
+{      0x2F05, ROOTMF, ROOTMF, EF, BINARY, 0,          ALW,    PIN     },
+{      0x2FE2, ROOTMF, ROOTMF, EF, BINARY, 10,         ALW,    NEV     },
+{      0x4F20, 0x5F50, 0x5F50, EF, BINARY, 0,          PIN,    ADM     },
+{      0x5F50, 0x7F10, 0x7F10, DF, 0, 0,               PIN,    ADM     },
+{      0x6F05, 0x7F20, 0x7FFF, EF, BINARY, 0,          ALW,    PIN     },
+{      0x6F07, 0x7F20, 0x7FFF, EF, BINARY, 9,          PIN,    ADM     },
+{      0x6F11, 0x7F20, 0x0000, EF, BINARY, 0,          PIN,    PIN     },
+{      0x6F13, 0x7F20, 0x0000, EF, BINARY, 0,          PIN,    PIN     },
+{      0x6F14, 0x7F20, 0x0000, EF, BINARY, 0,          PIN,    ADM     },
+{      0x6F15, 0x7F20, 0x0000, EF, BINARY, 0,          PIN,    PIN     },
+{      0x6F16, 0x7F20, 0x0000, EF, BINARY, 0,          PIN,    ADM     },
+{      0x6F17, 0x7F20, 0x0000, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6F18, 0x7F20, 0x0000, EF, BINARY, 10,         PIN,    ADM     },
+{      0x6F19, 0x7F20, 0x0000, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6F38, 0x7F20, 0x7FFF, EF, BINARY, 0,          PIN,    ADM     },
+{      0x6F3A, 0x7F10, 0x7F10, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6F3B, 0x7F10, 0x7FFF, EF, RECORD, 0,          PIN,    PIN2    },
+{      0x6F40, 0x7F10, 0x7FFF, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6F45, 0x7F20, 0x7FFF, EF, BINARY, 0,          PIN,    PIN     },
+{      0x6F46, 0x7F20, 0x7FFF, EF, BINARY, 17,         ALW,    ADM     },
+{      0x6F48, 0x7F20, 0x7FFF, EF, BINARY, 0,          PIN,    ADM     },
+{      0x6F49, 0x7F10, 0x7FFF, EF, RECORD, 0,          PIN,    ADM     },
+{      0x6F4D, 0x7F20, 0x7FFF, EF, RECORD, 0,          PIN,    PIN2    },
+{      0x6F50, 0x7F20, 0x7FFF, EF, BINARY, 0,          PIN,    PIN     },
+{      0x6F56, 0x0000, 0x7FFF, EF, BINARY, 0,          PIN,    PIN2    },
+{      0x6FAD, 0x7F20, 0x7FFF, EF, BINARY, 0,          ALW,    ADM     },
+{      0x6FAE, 0x7F20, 0x0000, EF, BINARY, 1,          ALW,    ADM     },
+{      0x6FB7, 0x7F20, 0x7FFF, EF, BINARY, 0,          ALW,    ADM     },
+{      0x6FC5, 0x7F20, 0x7FFF, EF, RECORD, 0,          ALW,    ADM     },
+{      0x6FC6, 0x7F20, 0x7FFF, EF, RECORD, 0,          ALW,    ADM     },
+{      0x6FC7, 0x7F20, 0x7FFF, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6FC9, 0x7F20, 0x7FFF, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6FCA, 0x7F20, 0x7FFF, EF, RECORD, 0,          PIN,    PIN     },
+{      0x6FCB, 0x7F20, 0x7FFF, EF, RECORD, 16,         PIN,    PIN     },
+{      0x6FCD, 0x7F20, 0x7FFF, EF, BINARY, 0,          PIN,    ADM     },
+{      0x6FDE, 0x7F20, 0x7FFF, EF, BINARY, 0,          ALW,    ADM     },
+{      0x7F10, ROOTMF, ROOTMF, DF, 0, 0,               0,      0       },
+{      0x7F20, ROOTMF, ROOTMF, DF, 0, 0,               0,      0       },
+{      0x7FFF, 0x0000, ROOTMF, DF, 0, 0,               0,      0       }
 };
 
 void simple_tlv_iter_init(struct simple_tlv_iter *iter,
index fd9d45f..631d19c 100644 (file)
@@ -27,12 +27,7 @@ enum sim_fileid {
        SIM_EF_ICCID_FILEID =                   0x2FE2,
        SIM_MF_FILEID =                         0x3F00,
        SIM_EFIMG_FILEID =                      0x4F20,
-       SIM_EFPSC_FILEID =                      0x4F22,
-       SIM_EFCC_FILEID =                       0x4F23,
-       SIM_EFPUID_FILEID =                     0x4F24,
-       SIM_EFPBR_FILEID =                      0x4F30,
        SIM_DFPHONEBOOK_FILEID =                0x5F3A,
-       SIM_DFMULTIMEDIA_FILEID =               0x5F3B,
        SIM_EFLI_FILEID =                       0x6F05,
        SIM_EFARR_FILEID =                      0x6F06,
        SIM_EFIMSI_FILEID =                     0x6F07,
@@ -288,7 +283,8 @@ struct sim_eons_operator_info {
 
 struct sim_ef_info {
        unsigned short id;
-       unsigned short parent;
+       unsigned short parent2g;
+       unsigned short parent3g;
        unsigned char file_type;
        unsigned char file_structure;
        unsigned char size;