From 1a8c4e05fbf51662e3ffe47ed64c20f4752e2563 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 16 Aug 2015 17:56:25 +0200 Subject: Introduce gsm48_mi_type_name() function --- include/osmocom/gsm/gsm48.h | 1 + src/gsm/gsm48.c | 14 ++++++++++++++ src/gsm/libosmogsm.map | 1 + 3 files changed, 16 insertions(+) diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h index a4522d74..74ac52c7 100644 --- a/include/osmocom/gsm/gsm48.h +++ b/include/osmocom/gsm/gsm48.h @@ -32,6 +32,7 @@ int gsm48_generate_mid_from_imsi(uint8_t *buf, const char *imsi); /* Convert Mobile Identity (10.5.1.4) to string */ int gsm48_mi_to_string(char *string, const int str_len, const uint8_t *mi, const int mi_len); +const char *gsm48_mi_type_name(uint8_t mi); /* Parse Routeing Area Identifier */ void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf); diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 80f75024..48b22c75 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -254,6 +254,20 @@ const char *rr_cause_name(uint8_t cause) return get_value_string(rr_cause_names, cause); } +static const struct value_string mi_type_names[] = { + { GSM_MI_TYPE_NONE, "NONE" }, + { GSM_MI_TYPE_IMSI, "IMSI" }, + { GSM_MI_TYPE_IMEI, "IMEI" }, + { GSM_MI_TYPE_IMEISV, "IMEI-SV" }, + { GSM_MI_TYPE_TMSI, "TMSI" }, + { 0, NULL } +}; + +const char *gsm48_mi_type_name(uint8_t mi) +{ + return get_value_string(mi_type_names, mi); +} + static void to_bcd(uint8_t *bcd, uint16_t val) { bcd[2] = val % 10; diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index c2914284..0c0d9f77 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -137,6 +137,7 @@ gsm48_mm_att_tlvdef; gsm48_number_of_paging_subchannels; gsm48_parse_ra; gsm48_rr_att_tlvdef; +gsm48_mi_type_name; gsm_7bit_decode; gsm_7bit_decode_ussd; -- cgit v1.2.3