net: dns: Add helper for figuring out the query type
Add helper function that returns the name of the query type
so that we can print it.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
diff --git a/subsys/net/lib/dns/dns_pack.c b/subsys/net/lib/dns/dns_pack.c
index 52ef4d9..823393c 100644
--- a/subsys/net/lib/dns/dns_pack.c
+++ b/subsys/net/lib/dns/dns_pack.c
@@ -540,6 +540,30 @@
return buf->len;
}
+const char *dns_qtype_to_str(enum dns_rr_type qtype)
+{
+ switch (qtype) {
+ case DNS_RR_TYPE_A:
+ return "A";
+ case DNS_RR_TYPE_CNAME:
+ return "CNAME";
+ case DNS_RR_TYPE_PTR:
+ return "PTR";
+ case DNS_RR_TYPE_TXT:
+ return "TXT";
+ case DNS_RR_TYPE_AAAA:
+ return "AAAA";
+ case DNS_RR_TYPE_SRV:
+ return "SRV";
+ case DNS_RR_TYPE_ANY:
+ return "ANY";
+ default:
+ break;
+ }
+
+ return "<unknown>";
+}
+
int dns_unpack_query(struct dns_msg_t *dns_msg, struct net_buf *buf,
enum dns_rr_type *qtype, enum dns_class *qclass)
{
diff --git a/subsys/net/lib/dns/dns_pack.h b/subsys/net/lib/dns/dns_pack.h
index 89778fe..3fd2db6 100644
--- a/subsys/net/lib/dns/dns_pack.h
+++ b/subsys/net/lib/dns/dns_pack.h
@@ -463,4 +463,13 @@
enum dns_rr_type *qtype,
enum dns_class *qclass);
+/**
+ * @brief Map query type number to a string.
+ *
+ * @param qtype Query type
+ *
+ * @return Printable query type name.
+ */
+const char *dns_qtype_to_str(enum dns_rr_type qtype);
+
#endif