]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
prefixes
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Wed, 22 Dec 2004 15:48:52 +0000 (15:48 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Wed, 22 Dec 2004 15:48:52 +0000 (15:48 +0000)
rr type string now found through descriptor

host2str.c
ldns/host2str.h
ldns/rr.h
run-test0.c
util.c
util.h

index e262fc3787b58e6cbf7212ef03261316631eccc5..9c550964a3da1e25fb594ec2d65425616a2d990d 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <ldns/host2str.h>
 
-#include "util.h"
+#include <util.h>
 
 /* lookup tables partly stolen from nsd, is there better way?
    are these used somewhere else? */
@@ -56,57 +56,6 @@ ldns_lookup_table ldns_rr_classes[] = {
        { 0, NULL }
 };
 
-ldns_lookup_table ldns_rr_types[] = {
-       { LDNS_RR_TYPE_A, "A" },
-       { LDNS_RR_TYPE_NS, "NS" },
-       { LDNS_RR_TYPE_MD, "MD" },
-       { LDNS_RR_TYPE_MF, "MF" },
-       { LDNS_RR_TYPE_CNAME, "CNAME" },
-       { LDNS_RR_TYPE_SOA, "SOA" },
-       { LDNS_RR_TYPE_MB, "MB" },
-       { LDNS_RR_TYPE_MG, "MG" },
-       { LDNS_RR_TYPE_MR, "MR" },
-       { LDNS_RR_TYPE_NULL, "NULL" },
-       { LDNS_RR_TYPE_WKS, "WKS" },
-       { LDNS_RR_TYPE_PTR, "PTR" },
-       { LDNS_RR_TYPE_HINFO, "HINFO" },
-       { LDNS_RR_TYPE_MINFO, "MINFO" },
-       { LDNS_RR_TYPE_MX, "MX" },
-       { LDNS_RR_TYPE_TXT, "TXT" },
-       { LDNS_RR_TYPE_RP, "RP" },
-       { LDNS_RR_TYPE_AFSDB, "AFSDB" },
-       { LDNS_RR_TYPE_X25, "X25" },
-       { LDNS_RR_TYPE_ISDN, "ISDN" },
-       { LDNS_RR_TYPE_RT, "RT" },
-       { LDNS_RR_TYPE_NSAP, "NSAP" },
-       { LDNS_RR_TYPE_SIG, "SIG" },
-       { LDNS_RR_TYPE_KEY, "KEY" },
-       { LDNS_RR_TYPE_PX, "PX" },
-       { LDNS_RR_TYPE_AAAA, "AAAA" },
-       { LDNS_RR_TYPE_LOC, "LOC" },
-       { LDNS_RR_TYPE_NXT, "NXT" },
-       { LDNS_RR_TYPE_SRV, "SRV" },
-       { LDNS_RR_TYPE_NAPTR, "NAPTR" },
-       { LDNS_RR_TYPE_KX, "KX" },
-       { LDNS_RR_TYPE_CERT, "CERT" },
-       { LDNS_RR_TYPE_DNAME, "DNAME" },
-       { LDNS_RR_TYPE_OPT, "OPT" },
-       { LDNS_RR_TYPE_APL, "APL" },
-       { LDNS_RR_TYPE_DS, "DS" },
-       { LDNS_RR_TYPE_SSHFP, "SSHFP" },
-       { LDNS_RR_TYPE_RRSIG, "RRSIG" },
-       { LDNS_RR_TYPE_NSEC, "NSEC" },
-       { LDNS_RR_TYPE_DNSKEY, "DNSKEY" },
-       { LDNS_RR_TYPE_TSIG, "TSIG" },
-       { LDNS_RR_TYPE_IXFR, "IXFR" },
-       { LDNS_RR_TYPE_AXFR, "AXFR" },
-       { LDNS_RR_TYPE_MAILB, "MAILB" },
-       { LDNS_RR_TYPE_MAILA, "MAILA" },
-       { LDNS_RR_TYPE_ANY, "ANY" },
-       { 0, NULL }
-};
-
-
 /* TODO: general rdata2str or dname2str, with error
          checks and return status etc */
 /* this is temp function for debugging wire2rr */
@@ -289,7 +238,8 @@ ldns_rr2buffer(ldns_buffer *output, ldns_rr *rr)
        uint16_t i;
        ldns_status status = LDNS_STATUS_OK;
        ldns_lookup_table *lt;
-
+       const ldns_rr_descriptor *descriptor;
+       
        if (ldns_rr_owner(rr)) {
                status = ldns_rdf2buffer_dname(output, ldns_rr_owner(rr));
        }
@@ -297,20 +247,22 @@ ldns_rr2buffer(ldns_buffer *output, ldns_rr *rr)
                return status;
        }
        
-       lt = lookup_by_id(ldns_rr_classes, ldns_rr_get_class(rr));
+       lt = ldns_lookup_by_id(ldns_rr_classes, ldns_rr_get_class(rr));
        if (lt) {
                ldns_buffer_printf(output, "\t%s\t", lt->name);
        } else {
                ldns_buffer_printf(output, "\tCLASS%d\t", ldns_rr_get_class(rr));
        }
-       
-       lt = lookup_by_id(ldns_rr_types, ldns_rr_get_type(rr));
-       if (lt) {
-               ldns_buffer_printf(output, "%s\t", lt->name);
+
+       descriptor = ldns_rr_descript(ldns_rr_get_type(rr));
+
+       if (descriptor->_name) {
+               ldns_buffer_printf(output, "%s\t", descriptor->_name);
        } else {
                ldns_buffer_printf(output, "TYPE%d\t", ldns_rr_get_type(rr));
        }
        
+
        for (i = 0; i < ldns_rr_rd_count(rr); i++) {
                status = ldns_rdf2buffer(output, ldns_rr_rdf(rr, i));
        }
index 449d0ed0ce6e6d5f975813ec5e2eef7f94806d5d..636c398cb275c6e7ce71815368117c2856807faf 100644 (file)
@@ -10,6 +10,8 @@
 #include <ldns/buffer.h>
 #include <ctype.h>
 
+#include "util.h"
+
 ldns_status ldns_rdf2buffer(ldns_buffer *buffer, ldns_rdf *rdf);
 ldns_status ldns_rr2buffer(ldns_buffer *buffer, ldns_rr *rr);
 ldns_status ldns_pkt2buffer(ldns_buffer *buffer, ldns_pkt *pkt);
index 0a3641119b81876339b0c992b5b00787967ff44f..5d50aab61ee0a1eb0db3463c7f762f7488514e29 100644 (file)
--- a/ldns/rr.h
+++ b/ldns/rr.h
@@ -199,7 +199,6 @@ struct ldns_struct_rr_descriptor
 };
 typedef struct ldns_struct_rr_descriptor ldns_rr_descriptor;
 
-
 /* prototypes */
 ldns_rr * ldns_rr_new(void);
 void ldns_rr_set_owner(ldns_rr *, ldns_rdf *);
index f87a2cbc62bb24685b2ffa91e1bca08abeb5540e..fb00e92ad844b830d0ed00d88f738a8d8add5619 100644 (file)
@@ -54,12 +54,9 @@ main(void)
        memcpy(rdf_data+10, "net", 3);
        rdf_data[13] = 0;
        rd_f = ldns_rdf_new(20, LDNS_RDF_TYPE_DNAME, rdf_data);
-       xprintf_rdf(rd_f);
        
        ldns_rr_push_rdf(rr, rd_f);
 
-       xprintf_rr(rr);
-
        status = ldns_wire2pkt(&packet, wire, sizeof(wire));
        if (status == LDNS_STATUS_OK) {
                printf("packet id: %d\n", (int) ldns_pkt_id(packet));
diff --git a/util.c b/util.c
index 0a628378fff028391a62c01465a250a5425599ea..b103717be6a6140a3716b711464042fde742344c 100644 (file)
--- a/util.c
+++ b/util.c
@@ -43,7 +43,7 @@ xprintf_rr(ldns_rr *rr)
 }
 
 ldns_lookup_table *
-lookup_by_name(ldns_lookup_table *table, const char *name)
+ldns_lookup_by_name(ldns_lookup_table *table, const char *name)
 {
        while (table->name != NULL) {
                if (strcasecmp(name, table->name) == 0)
@@ -54,7 +54,7 @@ lookup_by_name(ldns_lookup_table *table, const char *name)
 }
 
 ldns_lookup_table *
-lookup_by_id(ldns_lookup_table *table, int id)
+ldns_lookup_by_id(ldns_lookup_table *table, int id)
 {
        while (table->name != NULL) {
                if (table->id == id)
diff --git a/util.h b/util.h
index ce2ecafa37cfff51f373393533f64815712b5b2c..a3850d3a747a806ebb96f57ce040123ff10212bf 100644 (file)
--- a/util.h
+++ b/util.h
@@ -107,18 +107,15 @@ struct lookup_table {
         const char *name;
 };
   
-/*
+/**
  * Looks up the table entry by name, returns NULL if not found.
  */
 ldns_lookup_table *ldns_lookup_by_name(ldns_lookup_table table[],
                                        const char *name);
 
-/*
+/**
  * Looks up the table entry by id, returns NULL if not found.
  */
 ldns_lookup_table *ldns_lookup_by_id(ldns_lookup_table table[], int id);
 
-void    xprintf_rdf(ldns_rdf *);
-void    xprintf_rr(ldns_rr *);
-
 #endif /* !_UTIL_H */