simutil: Add MMC MNC pair encoding utility

This commit is contained in:
Andrzej Zaborowski 2010-05-16 16:08:29 +02:00 committed by Denis Kenzior
parent 9cd477fb7a
commit af2004ece1
2 changed files with 18 additions and 0 deletions

View File

@ -842,6 +842,23 @@ void sim_parse_mcc_mnc(const guint8 *bcd, char *mcc, char *mnc)
*mnc++ = digit_lut[digit];
}
void sim_encode_mcc_mnc(guint8 *out, const char *mcc, const char *mnc)
{
char str[7] = "ffffff";
str[0] = mcc[0];
str[1] = mcc[1];
if (mcc[2])
str[2] = mcc[2];
str[4] = mnc[0];
str[5] = mnc[1];
if (mnc[2])
str[3] = mnc[2];
encode_bcd_number(str, out);
}
static gint spdi_operator_compare(gconstpointer a, gconstpointer b)
{
const struct spdi_operator *opa = a;

View File

@ -234,6 +234,7 @@ const struct sim_eons_operator_info *sim_eons_lookup(struct sim_eons *eons,
void sim_eons_free(struct sim_eons *eons);
void sim_parse_mcc_mnc(const guint8 *bcd, char *mcc, char *mnc);
void sim_encode_mcc_mnc(guint8 *out, const char *mcc, const char *mnc);
struct sim_spdi *sim_spdi_new(const guint8 *tlv, int length);
gboolean sim_spdi_lookup(struct sim_spdi *spdi,
const char *mcc, const char *mnc);