blob: a88639a6fde5b284886317ec01489ec300a581d3 [file] [log] [blame]
/* srp-log.c
*
* Copyright (c) 2021 Apple Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file contains the functions that help to create better logs.
*/
#include "srp-log.h"
#ifndef THREAD_DEVKIT_ADK
#include <netinet/in.h> // For struct in_addr and struct in6_addr used in "dns-msg.h".
#endif
#include "dns-msg.h" // For dns_qclass_xxx and dns_rrtype_xxx.
//======================================================================================================================
// MARK: - Functions
const char *
dns_qclass_to_string(const uint16_t qclass)
{
#define CASE_TO_STR(s) case dns_qclass_ ## s: return (#s)
switch(qclass)
{
CASE_TO_STR(in);
CASE_TO_STR(chaos);
CASE_TO_STR(hesiod);
CASE_TO_STR(none);
CASE_TO_STR(any);
}
#undef CASE_TO_STR
FAULT("Invalid qclass - qclass: %u", qclass);
return "<INVALID dns_qclass>";
}
//======================================================================================================================
const char *
dns_rrtype_to_string(const uint16_t rrtype)
{
#define CASE_TO_STR(s) case dns_rrtype_ ## s: return (#s)
switch(rrtype)
{
CASE_TO_STR(a);
CASE_TO_STR(ns);
CASE_TO_STR(md);
CASE_TO_STR(mf);
CASE_TO_STR(cname);
CASE_TO_STR(soa);
CASE_TO_STR(mb);
CASE_TO_STR(mg);
CASE_TO_STR(mr);
CASE_TO_STR(null);
CASE_TO_STR(wks);
CASE_TO_STR(ptr);
CASE_TO_STR(hinfo);
CASE_TO_STR(minfo);
CASE_TO_STR(mx);
CASE_TO_STR(txt);
CASE_TO_STR(rp);
CASE_TO_STR(afsdb);
CASE_TO_STR(x25);
CASE_TO_STR(isdn);
CASE_TO_STR(rt);
CASE_TO_STR(nsap);
CASE_TO_STR(nsap_ptr);
CASE_TO_STR(sig);
CASE_TO_STR(key);
CASE_TO_STR(px);
CASE_TO_STR(gpos);
CASE_TO_STR(aaaa);
CASE_TO_STR(loc);
CASE_TO_STR(nxt);
CASE_TO_STR(eid);
CASE_TO_STR(nimloc);
CASE_TO_STR(srv);
CASE_TO_STR(atma);
CASE_TO_STR(naptr);
CASE_TO_STR(kx);
CASE_TO_STR(cert);
CASE_TO_STR(a6);
CASE_TO_STR(dname);
CASE_TO_STR(sink);
CASE_TO_STR(opt);
CASE_TO_STR(apl);
CASE_TO_STR(ds);
CASE_TO_STR(sshfp);
CASE_TO_STR(ipseckey);
CASE_TO_STR(rrsig);
CASE_TO_STR(nsec);
CASE_TO_STR(dnskey);
CASE_TO_STR(dhcid);
CASE_TO_STR(nsec3);
CASE_TO_STR(nsec3param);
CASE_TO_STR(tlsa);
CASE_TO_STR(smimea);
CASE_TO_STR(hip);
CASE_TO_STR(ninfo);
CASE_TO_STR(rkey);
CASE_TO_STR(talink);
CASE_TO_STR(cds);
CASE_TO_STR(cdnskey);
CASE_TO_STR(openpgpkey);
CASE_TO_STR(csync);
CASE_TO_STR(zonemd);
CASE_TO_STR(svcb);
CASE_TO_STR(https);
CASE_TO_STR(spf);
CASE_TO_STR(uinfo);
CASE_TO_STR(uid);
CASE_TO_STR(gid);
CASE_TO_STR(unspec);
CASE_TO_STR(nid);
CASE_TO_STR(l32);
CASE_TO_STR(l64);
CASE_TO_STR(lp);
CASE_TO_STR(eui48);
CASE_TO_STR(eui64);
CASE_TO_STR(tkey);
CASE_TO_STR(tsig);
CASE_TO_STR(ixfr);
CASE_TO_STR(axfr);
CASE_TO_STR(mailb);
CASE_TO_STR(maila);
CASE_TO_STR(any);
CASE_TO_STR(uri);
CASE_TO_STR(caa);
CASE_TO_STR(avc);
CASE_TO_STR(doa);
CASE_TO_STR(amtrelay);
CASE_TO_STR(ta);
CASE_TO_STR(dlv);
}
#undef CASE_TO_STR
FAULT("Invalid dns_rrtype - rrtype: %u", rrtype);
return "<INVALID dns_rrtype>";
}
// Local Variables:
// mode: C
// tab-width: 4
// c-file-style: "bsd"
// c-basic-offset: 4
// fill-column: 120
// indent-tabs-mode: nil
// End: