aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2014-05-04 16:30:46 +0200
committerHarald Welte <laforge@gnumonks.org>2014-10-26 19:09:24 +0100
commit30115dbd72e121b6b5c29a8224419cc554024b95 (patch)
treef73e6d8f19f14736124de79f20da3b8ed86846d7
parent171c5b1ec7fef03ded86a44ba8a19fdf974abc6f (diff)
sim: Only one default_decode() function for all card types
-rw-r--r--src/sim/card_fs_isim.c11
-rw-r--r--src/sim/card_fs_sim.c13
-rw-r--r--src/sim/card_fs_usim.c13
-rw-r--r--src/sim/core.c12
-rw-r--r--src/sim/sim_int.h3
5 files changed, 15 insertions, 37 deletions
diff --git a/src/sim/card_fs_isim.c b/src/sim/card_fs_isim.c
index d8699e89..339e8627 100644
--- a/src/sim/card_fs_isim.c
+++ b/src/sim/card_fs_isim.c
@@ -46,17 +46,6 @@ static const struct osim_card_sw *isim_card_sws[] = {
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 ee8dd749..e1244242 100644
--- a/src/sim/card_fs_sim.c
+++ b/src/sim/card_fs_sim.c
@@ -135,19 +135,6 @@ static int elp_decode(struct osim_decoded_data *dd,
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 e16ad7bf..02002cd2 100644
--- a/src/sim/card_fs_usim.c
+++ b/src/sim/card_fs_usim.c
@@ -52,19 +52,6 @@ static const struct osim_card_sw *usim_card_sws[] = {
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 d1d4de73..dba378b6 100644
--- a/src/sim/core.c
+++ b/src/sim/core.c
@@ -290,3 +290,15 @@ enum osim_card_sw_class osim_sw_class(const struct osim_card_profile *cp,
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 73f144ca..0a3772bc 100644
--- a/src/sim/sim_int.h
+++ b/src/sim/sim_int.h
@@ -12,6 +12,9 @@ element_alloc_sub(struct osim_decoded_element *ee, const char *name,
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);