This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/1831
xua_msg: Add xua_msg_dump() to print parsed XUA message
Change-Id: I2f3ae77f440e0c27f78302cdb80e1d25fe5aebb6
---
M include/osmocom/sigtran/xua_msg.h
M src/xua_msg.c
2 files changed, 31 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/31/1831/1
diff --git a/include/osmocom/sigtran/xua_msg.h b/include/osmocom/sigtran/xua_msg.h
index 2a6e3ae..949c850 100644
--- a/include/osmocom/sigtran/xua_msg.h
+++ b/include/osmocom/sigtran/xua_msg.h
@@ -63,3 +63,4 @@
uint32_t xua_msg_part_get_u32(struct xua_msg_part *part);
uint32_t xua_msg_get_u32(struct xua_msg *xua, uint16_t iei);
int xua_msg_add_sccp_addr(struct xua_msg *xua, uint16_t iei, const struct osmo_sccp_addr *addr);
+char *xua_msg_dump(struct xua_msg *xua);
diff --git a/src/xua_msg.c b/src/xua_msg.c
index be3b9a2..f7b0386 100644
--- a/src/xua_msg.c
+++ b/src/xua_msg.c
@@ -287,3 +287,33 @@
return rc;
}
+
+static void append_to_buf(char *buf, bool *comma, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ if (!comma || *comma == true) {
+ strcat(buf, ",");
+ } else if (comma)
+ *comma = true;
+ vsprintf(buf+strlen(buf), fmt, ap);
+ va_end(ap);
+}
+
+char *xua_msg_dump(struct xua_msg *xua)
+{
+ static char buf[1024];
+ struct xua_msg_part *part;
+
+ buf[0] = '\0';
+
+ append_to_buf(buf, NULL, "HDR=(V=%u,C=0x%04x,T=0x%04x,LEN=%u)",
+ xua->hdr.version, xua->hdr.msg_class,
+ xua->hdr.msg_type, xua->hdr.msg_length);
+ llist_for_each_entry(part, &xua->headers, entry)
+ append_to_buf(buf, NULL, "\n\tPART(T=0x%04x,L=%u,D=%s)",
+ part->tag, part->len,
+ osmo_hexdump_nospc(part->dat, part->len));
+ return buf;
+}
--
To view, visit https://gerrit.osmocom.org/1831
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2f3ae77f440e0c27f78302cdb80e1d25fe5aebb6
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>