sim: Only one default_decode() function for all card types
diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c
index d8699e8..339e862 100644
--- a/src/sim/card_fs_isim.c
+++ b/src/sim/card_fs_isim.c
@@ -46,17 +46,6 @@
NULL
};
-static int default_decode(struct osim_decoded_data *dd,
- const struct osim_file_desc *desc,
- int len, uint8_t *data)
-{
- struct osim_decoded_element *elem;
-
- elem = element_alloc(dd, "Unknown Payload", ELEM_T_BYTES, ELEM_REPR_HEX);
- elem->u.buf = talloc_memdup(elem, data, len);
-
- return 0;
-}
/* TS 31.103 Version 11.2.0 Release 11 / Chapoter 4.2 */
static const struct osim_file_desc isim_ef_in_adf_isim[] = {
EF_TRANSP_N(0x6F02, 0x02, "EF.IMPI", 0, 1, 256,
diff --git a/src/sim/card_fs_sim.c b/src/sim/card_fs_sim.c
index ee8dd74..e124424 100644
--- a/src/sim/card_fs_sim.c
+++ b/src/sim/card_fs_sim.c
@@ -135,19 +135,6 @@
return 0;
}
-static int default_decode(struct osim_decoded_data *dd,
- const struct osim_file_desc *desc,
- int len, uint8_t *data)
-{
- struct osim_decoded_element *elem;
-
- elem = element_alloc(dd, "Unknown Payload", ELEM_T_BYTES, ELEM_REPR_HEX);
- elem->u.buf = talloc_memdup(elem, data, len);
-
- return 0;
-}
-
-
/* 10.3.1 */
int gsm_lp_decode(struct osim_decoded_data *dd,
const struct osim_file_desc *desc,
diff --git a/src/sim/card_fs_usim.c b/src/sim/card_fs_usim.c
index e16ad7b..02002cd 100644
--- a/src/sim/card_fs_usim.c
+++ b/src/sim/card_fs_usim.c
@@ -52,19 +52,6 @@
NULL
};
-
-static int default_decode(struct osim_decoded_data *dd,
- const struct osim_file_desc *desc,
- int len, uint8_t *data)
-{
- struct osim_decoded_element *elem;
-
- elem = element_alloc(dd, "Unknown Payload", ELEM_T_BYTES, ELEM_REPR_HEX);
- elem->u.buf = talloc_memdup(elem, data, len);
-
- return 0;
-}
-
/* TS 102 221 Chapter 13.1 */
static const struct osim_file_desc uicc_ef_in_mf[] = {
EF_LIN_FIX_N(0x2f00, SFI_NONE, "EF.DIR", 0, 1, 32,
diff --git a/src/sim/core.c b/src/sim/core.c
index d1d4de7..dba378b 100644
--- a/src/sim/core.c
+++ b/src/sim/core.c
@@ -290,3 +290,15 @@
return csw->class;
}
+
+int default_decode(struct osim_decoded_data *dd,
+ const struct osim_file_desc *desc,
+ int len, uint8_t *data)
+{
+ struct osim_decoded_element *elem;
+
+ elem = element_alloc(dd, "Unknown Payload", ELEM_T_BYTES, ELEM_REPR_HEX);
+ elem->u.buf = talloc_memdup(elem, data, len);
+
+ return 0;
+}
diff --git a/src/sim/sim_int.h b/src/sim/sim_int.h
index 73f144c..0a3772b 100644
--- a/src/sim/sim_int.h
+++ b/src/sim/sim_int.h
@@ -12,6 +12,9 @@
extern const struct osim_card_sw ts102221_uicc_sw[0];
+int default_decode(struct osim_decoded_data *dd,
+ const struct osim_file_desc *desc,
+ int len, uint8_t *data);
void add_filedesc(struct osim_file_desc *root, const struct osim_file_desc *in, int num);
struct osim_file_desc *alloc_df(void *ctx, uint16_t fid, const char *name);