aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs_ms.c18
-rw-r--r--src/gprs_ms.h8
2 files changed, 21 insertions, 5 deletions
diff --git a/src/gprs_ms.c b/src/gprs_ms.c
index 8453f208..d68f8aaa 100644
--- a/src/gprs_ms.c
+++ b/src/gprs_ms.c
@@ -942,6 +942,24 @@ struct gprs_rlcmac_tbf *ms_tbf(const struct GprsMs *ms, enum gprs_rlcmac_tbf_dir
return NULL;
}
+const char *ms_name(const struct GprsMs *ms)
+{
+ static char _ms_name_buf[128];
+ return ms_name_buf(ms, _ms_name_buf, sizeof(_ms_name_buf));
+}
+
+char *ms_name_buf(const struct GprsMs *ms, char *buf, unsigned int buf_size)
+{
+ snprintf(buf, buf_size - 1,
+ "MS(TLLI=0x%08x, IMSI=%s, TA=%" PRIu8 ", %" PRIu8 "/%" PRIu8 ",%s%s)",
+ ms_tlli(ms), ms_imsi(ms), ms_ta(ms),
+ ms_ms_class(ms), ms_egprs_ms_class(ms),
+ ms_ul_tbf(ms) ? " UL" : "",
+ ms_dl_tbf(ms) ? " DL" : "");
+ buf[buf_size - 1] = '\0';
+ return buf;
+}
+
int ms_nacc_start(struct GprsMs *ms, Packet_Cell_Change_Notification_t *notif)
{
if (!ms->nacc)
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index c5ee01c9..cc92e2ab 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -134,6 +134,8 @@ struct gprs_rlcmac_tbf *ms_tbf(const struct GprsMs *ms, enum gprs_rlcmac_tbf_dir
static inline struct gprs_rlcmac_ul_tbf *ms_ul_tbf(const struct GprsMs *ms) {return ms->ul_tbf;}
static inline struct gprs_rlcmac_dl_tbf *ms_dl_tbf(const struct GprsMs *ms) {return ms->dl_tbf;}
+const char *ms_name(const struct GprsMs *ms);
+char *ms_name_buf(const struct GprsMs *ms, char *buf, unsigned int buf_size);
void ms_set_callback(struct GprsMs *ms, struct gpr_ms_callback *cb);
@@ -237,11 +239,7 @@ static inline struct gprs_rlcmac_trx *ms_current_trx(const struct GprsMs *ms)
}
#define LOGPMS(ms, category, level, fmt, args...) \
- LOGP(category, level, "MS(TLLI=0x%08x, IMSI=%s, TA=%" PRIu8 ", %" PRIu8 "/%" PRIu8 ",%s%s) " fmt, \
- ms_tlli(ms), ms_imsi(ms), ms_ta(ms), ms_ms_class(ms), ms_egprs_ms_class(ms), \
- ms_ul_tbf(ms) ? " UL": "", \
- ms_dl_tbf(ms) ? " DL": "", \
- ## args)
+ LOGP(category, level, "%s " fmt, ms_name(ms), ## args)
#ifdef __cplusplus
}