Update msgb Lx helpers
* add missing L1 and L4 hexdump
* add msgb_l4() for consistency and convert msgb_sms() into simple alias
Those will be used in follow-up patches for msgb debug/test helpers.
Change-Id: I8d6dd1b1ff3aa98a452711c692ca7dee0449203b
diff --git a/include/osmocom/core/msgb.h b/include/osmocom/core/msgb.h
index 2449151..1bb5fe5 100644
--- a/include/osmocom/core/msgb.h
+++ b/include/osmocom/core/msgb.h
@@ -130,8 +130,10 @@
#define msgb_l2(m) ((void *)(m->l2h))
/*! obtain L3 header of msgb */
#define msgb_l3(m) ((void *)(m->l3h))
+/*! obtain L4 header of msgb */
+#define msgb_l4(m) ((void *)(m->l4h))
/*! obtain SMS header of msgb */
-#define msgb_sms(m) ((void *)(m->l4h))
+#define msgb_sms(m) msgb_l4(m)
/*! determine length of L1 message
* \param[in] msgb message buffer
@@ -566,6 +568,13 @@
void msgb_set_talloc_ctx(void *ctx) OSMO_DEPRECATED("Use msgb_talloc_ctx_init() instead");
int msgb_printf(struct msgb *msgb, const char *format, ...);
+static inline const char *msgb_hexdump_l1(const struct msgb *msg)
+{
+ if (!msgb_l1(msg) || !(msgb_l1len(msg)))
+ return "[]";
+ return osmo_hexdump((const unsigned char *) msgb_l1(msg), msgb_l1len(msg));
+}
+
static inline const char *msgb_hexdump_l2(const struct msgb *msg)
{
if (!msgb_l2(msg) || !(msgb_l2len(msg)))
@@ -580,4 +589,11 @@
return osmo_hexdump((const unsigned char*) msgb_l3(msg), msgb_l3len(msg));
}
+static inline const char *msgb_hexdump_l4(const struct msgb *msg)
+{
+ if (!msgb_l4(msg) || !(msgb_l4len(msg)))
+ return "[]";
+ return osmo_hexdump((const unsigned char*) msgb_l4(msg), msgb_l4len(msg));
+}
+
/*! @} */