]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Update of libdns.vim from Miek and some align on the 80 columns textual changes of...
authorWillem Toorop <willem@NLnetLabs.nl>
Tue, 20 Sep 2011 09:58:52 +0000 (09:58 +0000)
committerWillem Toorop <willem@NLnetLabs.nl>
Tue, 20 Sep 2011 09:58:52 +0000 (09:58 +0000)
examples/ldns-verify-zone.c
libdns.vim

index 6e81c3ab095955b59354f0204d37f172f5f2a3f9..8cb3512b774c473d5249182d6a1a8247a0f1bc7f 100644 (file)
@@ -90,11 +90,11 @@ create_dnssec_zone(ldns_zone *orig_zone)
        ldns_rr_list *failed_nsec3_rrsigs = ldns_rr_list_new();
 
        dnssec_zone = ldns_dnssec_zone_new();
-       if (ldns_dnssec_zone_add_rr(dnssec_zone, ldns_zone_soa(orig_zone)) !=
-           LDNS_STATUS_OK) {
+       if (ldns_dnssec_zone_add_rr(dnssec_zone, ldns_zone_soa(orig_zone))
+                       != LDNS_STATUS_OK) {
                if (verbosity > 0) {
-                       fprintf(stderr,
-                                  "Error adding SOA to dnssec zone, skipping record\n");
+                       fprintf(stderr, "Error adding SOA to dnssec zone, "
+                                       "skipping record\n");
                }
        }
 
@@ -102,7 +102,8 @@ create_dnssec_zone(ldns_zone *orig_zone)
                cur_rr = ldns_rr_list_rr(ldns_zone_rrs(orig_zone), i);
                status = ldns_dnssec_zone_add_rr(dnssec_zone, cur_rr);
                if (status != LDNS_STATUS_OK) {
-                       if (status == LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND) {
+                       if (LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND
+                                       == status) {
                                if (ldns_rr_get_type(cur_rr)
                                            == LDNS_RR_TYPE_RRSIG
                                            && ldns_rdf2rr_type(
@@ -119,8 +120,9 @@ create_dnssec_zone(ldns_zone *orig_zone)
                                }
                        } else {
                                if (verbosity > 0) {
-                                       fprintf(stderr, "Error adding RR to dnssec zone");
-                                       fprintf(stderr, ", skipping record:\n");
+                                       fprintf(stderr, "Error adding RR to "
+                                                       "dnssec zone"
+                                                       ", skipping record:\n");
                                        ldns_rr_print(stderr, cur_rr);
                                }
                        }
@@ -146,10 +148,11 @@ create_dnssec_zone(ldns_zone *orig_zone)
 }
 
 static ldns_status
-verify_dnssec_rrset(ldns_rdf *zone_name,
-                                       ldns_rdf *name,
-                    ldns_dnssec_rrsets *rrset,
-                    ldns_rr_list *keys)
+verify_dnssec_rrset(
+               ldns_rdf *zone_name, 
+               ldns_rdf *name, i
+               ldns_dnssec_rrsets *rrset, i
+               ldns_rr_list *keys) 
 {
        ldns_rr_list *rrset_rrs;
        ldns_dnssec_rrs *cur_rr, *cur_sig;
@@ -169,17 +172,16 @@ verify_dnssec_rrset(ldns_rdf *zone_name,
        if (cur_sig) {
                while (cur_sig) {
                        good_keys = ldns_rr_list_new();
-                       status = ldns_verify_rrsig_keylist(rrset_rrs,
-                                                                               cur_sig->rr,
-                                                                               keys,
-                                                                               good_keys);
+                       status = ldns_verify_rrsig_keylist(rrset_rrs, 
+                                       cur_sig->rr, keys, good_keys);
                        if (status != LDNS_STATUS_OK) {
                                if (verbosity > 0) {
                                        printf("Error: %s",
-                                                 ldns_get_errorstr_by_id(status));
+                                               ldns_get_errorstr_by_id(
+                                                       status));
                                        printf(" for ");
                                        ldns_rdf_print(stdout,
-                                                               ldns_rr_owner(rrset->rrs->rr));
+                                               ldns_rr_owner(rrset->rrs->rr));
                                        printf("\t");
                                        print_type(rrset->type);
                                        printf("\n");
@@ -192,9 +194,11 @@ verify_dnssec_rrset(ldns_rdf *zone_name,
                                        }
                                        if (verbosity >= 4) {
                                                printf("RRSet:\n");
-                                               ldns_dnssec_rrs_print(stdout, rrset->rrs);
+                                               ldns_dnssec_rrs_print(stdout,
+                                                               rrset->rrs);
                                                printf("Signature:\n");
-                                               ldns_rr_print(stdout, cur_sig->rr);
+                                               ldns_rr_print(stdout,
+                                                               cur_sig->rr);
                                                printf("\n");
                                        }
                                }
@@ -209,7 +213,8 @@ verify_dnssec_rrset(ldns_rdf *zone_name,
                        ldns_dname_compare(name, zone_name) == 0) {
                        if (verbosity > 0) {
                                printf("Error: no signatures for ");
-                               ldns_rdf_print(stdout, ldns_rr_owner(rrset->rrs->rr));
+                               ldns_rdf_print(stdout, 
+                                               ldns_rr_owner(rrset->rrs->rr));
                                printf("\t");
                                print_type(rrset->type);
                                printf("\n");
@@ -221,9 +226,10 @@ verify_dnssec_rrset(ldns_rdf *zone_name,
 }
 
 static ldns_status
-verify_single_rr(ldns_rr *rr,
-                         ldns_dnssec_rrs *signature_rrs,
-                         ldns_rr_list *keys)
+verify_single_rr(
+               ldns_rr *rr, 
+               ldns_dnssec_rrs *signature_rrs, 
+               ldns_rr_list *keys)
 {
        ldns_rr_list *rrset_rrs;
        ldns_rr_list *good_keys;
@@ -237,13 +243,12 @@ verify_single_rr(ldns_rr *rr,
        cur_sig = signature_rrs;
        while (cur_sig) {
                good_keys = ldns_rr_list_new();
-               status = ldns_verify_rrsig_keylist(rrset_rrs,
-                                                                       cur_sig->rr,
-                                                                       keys,
-                                                                       good_keys);
+               status = ldns_verify_rrsig_keylist(
+                               rrset_rrs, cur_sig->rr, keys, good_keys);
                if (status != LDNS_STATUS_OK) {
                        if (verbosity >= 1) {
-                               printf("Error: %s ", ldns_get_errorstr_by_id(status));
+                               printf("Error: %s ", 
+                                       ldns_get_errorstr_by_id(status));
                                if (result == LDNS_STATUS_OK) {
                                        result = status;
                                }
@@ -276,8 +281,7 @@ verify_single_rr(ldns_rr *rr,
 }
 
 static ldns_status
-verify_next_hashed_name(ldns_rbtree_t *zone_nodes,
-                        ldns_dnssec_name *name)
+verify_next_hashed_name(ldns_rbtree_t *zone_nodes, ldns_dnssec_name *name)
 {
        ldns_rbnode_t *next_node;
        ldns_dnssec_name *next_name;
@@ -288,8 +292,8 @@ verify_next_hashed_name(ldns_rbtree_t *zone_nodes,
        ldns_rdf *next_owner_dname;
 
        if (!name->hashed_name) {
-               name->hashed_name = ldns_nsec3_hash_name_frm_nsec3(name->nsec,
-                                                                  name->name);
+               name->hashed_name = ldns_nsec3_hash_name_frm_nsec3(
+                               name->nsec, name->name);
        }
        next_node = ldns_rbtree_first(zone_nodes);
        while (next_node != LDNS_RBTREE_NULL) {
@@ -303,21 +307,21 @@ verify_next_hashed_name(ldns_rbtree_t *zone_nodes,
                }
                if (!next_name->hashed_name) {
                        next_name->hashed_name = ldns_nsec3_hash_name_frm_nsec3(
-                                                     name->nsec, next_name->name);
+                                       name->nsec, next_name->name);
                }
                /* we keep track of what 'so far' is the next hashed name;
                 * it must of course be 'larger' than the current name
                 * if we find one that is larger, but smaller than what we
                 * previously thought was the next one, that one is the next
                 */
-               cmp = ldns_dname_compare(name->hashed_name,
-                                        next_name->hashed_name);
+               cmp = ldns_dname_compare(
+                               name->hashed_name, next_name->hashed_name);
                if (cmp < 0) {
                        if (!cur_next_name) {
                                cur_next_name = next_name;
                        } else {
                                cmp = ldns_dname_compare(next_name->hashed_name,
-                                                        cur_next_name->hashed_name);
+                                               cur_next_name->hashed_name);
                                if (cmp < 0) {
                                        cur_next_name = next_name;
                                }
@@ -329,8 +333,8 @@ verify_next_hashed_name(ldns_rbtree_t *zone_nodes,
                        cur_first_name = next_name;
                } else {
                        cmp = ldns_dname_compare(next_name->hashed_name,
-                                                                        cur_first_name->hashed_name);
-                       if (cmp < 0) {
+                                       cur_first_name->hashed_name);
+                       if (cmp < 0) {
                                cur_first_name = next_name;
                        }
                }
@@ -362,9 +366,10 @@ verify_next_hashed_name(ldns_rbtree_t *zone_nodes,
 }
 
 static ldns_status
-verify_nsec(ldns_rbtree_t *zone_nodes,
-            ldns_rbnode_t *cur_node,
-            ldns_rr_list *keys)
+verify_nsec(
+               ldns_rbtree_t *zone_nodes, 
+               ldns_rbnode_t *cur_node, 
+               ldns_rr_list *keys)
 {
        ldns_rbnode_t *next_node;
        ldns_dnssec_name *name, *next_name;
@@ -375,8 +380,7 @@ verify_nsec(ldns_rbtree_t *zone_nodes,
        if (name->nsec) {
                if (name->nsec_signatures) {
                        status = verify_single_rr(name->nsec,
-                                                                name->nsec_signatures,
-                                                                keys);
+                                       name->nsec_signatures, keys);
                        if (result == LDNS_STATUS_OK) {
                                result = status;
                        }
@@ -396,21 +400,29 @@ verify_nsec(ldns_rbtree_t *zone_nodes,
                                /* simply try next name */
                                next_node = ldns_rbtree_next(cur_node);
                                if (next_node == LDNS_RBTREE_NULL) {
-                                       next_node = ldns_rbtree_first(zone_nodes);
+                                       next_node = ldns_rbtree_first(
+                                                       zone_nodes);
                                }
-                               next_node = ldns_dnssec_name_node_next_nonglue(next_node);
+                               next_node = ldns_dnssec_name_node_next_nonglue(
+                                               next_node);
                                next_name = (ldns_dnssec_name *)next_node->data;
-                               if (ldns_dname_compare(next_name->name,
-                                                                          ldns_rr_rdf(name->nsec, 0))
-                                       != 0) {
+                               if (ldns_dname_compare(
+                                                       next_name->name,
+                                                       ldns_rr_rdf(
+                                                               name->nsec, 0)) 
+                                               != 0) {
                                        printf("Error: the NSEC record for ");
                                        ldns_rdf_print(stdout, name->name);
-                                       printf(" points to the wrong next owner name\n");
+                                       printf(" points to the wrong next "
+                                                       "owner name\n");
                                        if (verbosity >= 4) {
                                                printf("     : ");
-                                               ldns_rdf_print(stdout,ldns_rr_rdf(name->nsec, 0));
+                                               ldns_rdf_print(stdout,
+                                                       ldns_rr_rdf(name->nsec, 
+                                                               0));
                                                printf(" i.s.o. ");
-                                               ldns_rdf_print(stdout, next_name->name);
+                                               ldns_rdf_print(stdout, 
+                                                       next_name->name);
                                                printf(".\n");
                                        }
                                        if (result == LDNS_STATUS_OK) {
@@ -424,7 +436,8 @@ verify_nsec(ldns_rbtree_t *zone_nodes,
                                 * for this in the structs? (ie. pointer to next
                                 * hashed name?)
                                 */
-                               status = verify_next_hashed_name(zone_nodes, name);
+                               status = verify_next_hashed_name(
+                                               zone_nodes, name);
                                if (result == LDNS_STATUS_OK) {
                                        result = status;
                                }
@@ -462,10 +475,10 @@ verify_nsec(ldns_rbtree_t *zone_nodes,
 
 static ldns_status
 verify_dnssec_name(ldns_rdf *zone_name,
-                ldns_dnssec_zone *zone,
+               ldns_dnssec_zone *zone,
                 ldns_rbtree_t *zone_nodes,
                 ldns_rbnode_t *cur_node,
-                           ldns_rr_list *keys)
+               ldns_rr_list *keys)
 {
        ldns_status result = LDNS_STATUS_OK;
        ldns_status status;
@@ -491,7 +504,8 @@ verify_dnssec_name(ldns_rdf *zone_name,
                                        ldns_rdf_print(stdout, name->name);
                                        printf("\t");
                                        print_type(cur_rrset->type);
-                                       printf(" has signature(s), but is glue\n");
+                                       printf(" has signature(s), "
+                                                       "but is glue\n");
                                }
                                result = LDNS_STATUS_ERR;
                        }
@@ -526,8 +540,10 @@ verify_dnssec_name(ldns_rdf *zone_name,
                                        cur_rrset->type != LDNS_RR_TYPE_RRSIG
                                     && cur_rrset->type != LDNS_RR_TYPE_NSEC)) {
 
-                               status = verify_dnssec_rrset(zone_name, name->name, cur_rrset, keys);
-                               if (status != LDNS_STATUS_OK && result == LDNS_STATUS_OK) {
+                               status = verify_dnssec_rrset(zone_name,
+                                               name->name, cur_rrset, keys);
+                               if (status != LDNS_STATUS_OK 
+                                               && result == LDNS_STATUS_OK) {
                                        result = status;
                                }
                        }
@@ -638,17 +654,21 @@ main(int argc, char **argv)
                         break;
                case 'h':
                        printf("Usage: %s [OPTIONS] <zonefile>\n", argv[0]);
-                       printf("\tReads the zonefile and checks for DNSSEC errors.\n");
+                       printf("\tReads the zonefile and checks for DNSSEC "
+                                       "errors.\n");
                        printf("\nIt checks whether NSEC(3)s are present,");
                        printf(" and verifies all signatures\n");
-                       printf("It also checks the NSEC(3) chain, but it will error on opted-out delegations\n");
+                       printf("It also checks the NSEC(3) chain, but it will "
+                                       "error on opted-out delegations\n");
                        printf("\nOPTIONS:\n");
                        printf("\t-a apex only, check only the zone apex\n");
-                       printf("\t-p [0-100] only perform this many checks, defaults to 100\n");
+                       printf("\t-p [0-100] only perform this many checks, "
+                                       "defaults to 100\n");
                        printf("\t-h show this text\n");
                        printf("\t-v shows the version and exits\n");
                        printf("\t-V [0-5]\tset verbosity level (default 3)\n");
-                       printf("\nif no file is given standard input is read\n");
+                       printf("\nif no file is given standard input is "
+                                       "read\n");
                        exit(EXIT_SUCCESS);
                        break;
                case 'v':
@@ -662,7 +682,8 @@ main(int argc, char **argv)
                 case 'p':
                         percentage = atoi(optarg);
                         if (percentage < 0 || percentage > 100) {
-                               fprintf(stderr, "ldns-verify-zone: percentage needs to fall between 0..100\n");
+                               fprintf(stderr, "percentage needs to fall "
+                                               "between 0..100\n");
                                 exit(EXIT_FAILURE);
                         }
                         srandom(time(NULL) ^ getpid());
@@ -689,7 +710,6 @@ main(int argc, char **argv)
        }
 
        s = ldns_zone_new_frm_fp_l(&z, fp, NULL, 0, LDNS_RR_CLASS_IN, &line_nr);
-
        if (s == LDNS_STATUS_OK) {
                if (!ldns_zone_soa(z)) {
                        fprintf(stderr, "; Error: no SOA in the zone\n");
@@ -700,7 +720,8 @@ main(int argc, char **argv)
                result = ldns_dnssec_zone_mark_glue(dnssec_zone);
                if (result != LDNS_STATUS_OK) {
                        if (verbosity >= 1) {
-                               printf("There were errors identifying the glue in the zone\n");
+                               printf("There were errors identifying the glue "
+                                               "in the zone\n");
                        }
                }
 
@@ -738,7 +759,8 @@ main(int argc, char **argv)
 int
 main(int argc, char **argv)
 {
-       fprintf(stderr, "ldns-verify-zone needs OpenSSL support, which has not been compiled in\n");
+       fprintf(stderr, "ldns-verify-zone needs OpenSSL support, "
+                       "which has not been compiled in\n");
        return 1;
 }
 #endif /* HAVE_SSL */
index 69ec067150dd76c2c42cfec145d9b608a51b65cd..c757eacd12d0b7d7f3327fce619d14b029efb090 100644 (file)
@@ -1,30 +1,32 @@
 " Vim syntax file
 " Language:     C libdns
 " Maintainer:   miekg
-" Last change:  2004-12-15
+" Last change:  2011-09-15
 
-" util.h
+" ldns/util.h
 syn keyword  ldnsMacro LDNS_MALLOC
 syn keyword  ldnsMacro LDNS_XMALLOC
+syn keyword  ldnsMacro LDNS_CALLOC
 syn keyword  ldnsMacro LDNS_REALLOC
 syn keyword  ldnsMacro LDNS_XREALLOC
 syn keyword  ldnsMacro LDNS_FREE
 syn keyword  ldnsMacro LDNS_DEP  
+syn keyword  ldnsMacro LDNS_VERSION
+syn keyword  ldnsMacro LDNS_REVISION
+
+" ldns/dname.h
+syn keyword  ldnsMacro          LDNS_DNAME_NORMALIZE
 
 " ldns/tsig.h
 syn keyword  ldnsType           ldns_tsig_credentials
 
+" ldns/update.h
+" --
+
 " ldns/rdata.h
 syn keyword  ldnsType           ldns_rdf
 syn keyword  ldnsType           ldns_rdf_type
-syn keyword  ldnsType           ldns_hdr
-syn keyword  ldnsType           ldns_status
-syn keyword  ldnsType           ldns_rrset
-syn keyword  ldnsType           ldns_dname
-syn keyword  ldnsConstant       true
-syn keyword  ldnsConstant       false
-syn keyword  ldnsFunction      ldns_rdf_get_type
-
+syn keyword  ldnsType           ldns_cert_algorithm
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_NONE
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_DNAME
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_INT8
@@ -35,6 +37,7 @@ syn keyword  ldnsConstant     LDNS_RDF_TYPE_A
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_AAAA
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_STR
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_APL
+syn keyword  ldnsConstant      LDNS_RDF_TYPE_B32_EXT
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_B64
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_HEX
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_NSEC
@@ -51,6 +54,9 @@ syn keyword  ldnsConstant     LDNS_RDF_TYPE_SERVICE
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_LOC
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_WKS
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_NSAP
+syn keyword  ldnsConstant      LDNS_RDF_TYPE_ATMA
+syn keyword  ldnsConstant      LDNS_RDF_TYPE_NSEC3_SALT
+syn keyword  ldnsConstant      LDNS_RDF_TYPE_NSEC3_NEXT_OWNER
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_IPSECKEY
 syn keyword  ldnsConstant      LDNS_RDF_TYPE_TSIG
 syn keyword  ldnsConstant      LDNS_MAX_RDFLEN
@@ -59,12 +65,24 @@ syn keyword  ldnsConstant       LDNS_RDF_SIZE_WORD
 syn keyword  ldnsConstant       LDNS_RDF_SIZE_DOUBLEWORD       
 syn keyword  ldnsConstant       LDNS_RDF_SIZE_6BYTES           
 syn keyword  ldnsConstant       LDNS_RDF_SIZE_16BYTES          
+syn keyword  ldnsConstant       LDNS_NSEC3_VARS_OPTOUT_MASK
+
+syn keyword  ldnsConstant       LDNS_CERT_PKIX
+syn keyword  ldnsConstant       LDNS_CERT_SPKI
+syn keyword  ldnsConstant       LDNS_CERT_PGP
+syn keyword  ldnsConstant       LDNS_CERT_IPKIX
+syn keyword  ldnsConstant       LDNS_CERT_ISPKI
+syn keyword  ldnsConstant       LDNS_CERT_IPGP
+syn keyword  ldnsConstant       LDNS_CERT_ACPKIX
+syn keyword  ldnsConstant       LDNS_CERT_IACPKIX
+syn keyword  ldnsConstant       LDNS_CERT_URI
+syn keyword  ldnsConstant       LDNS_CERT_OID
 
 " ldns/ldns.h
 syn keyword  ldnsConstant      LDNS_PORT
 syn keyword  ldnsConstant      LDNS_IP4ADDRLEN
 syn keyword  ldnsConstant      LDNS_IP6ADDRLEN
-syn keyword  ldnsConstant      LDNS_ROOT_LABEL
+syn keyword  ldnsConstant      LDNS_ROOT_LABEL_STR
 syn keyword  ldnsConstant      LDNS_DEFAULT_TTL
 
 " ldns/packet.h
@@ -73,12 +91,15 @@ syn keyword  ldnsType           ldns_pkt_section
 syn keyword  ldnsType          ldns_pkt_type
 syn keyword  ldnsType          ldns_pkt_opcode
 syn keyword  ldnsType          ldns_pkt_rcode
+syn keyword  ldnsType          ldns_hdr
 syn keyword  ldnsConstant      LDNS_QR
 syn keyword  ldnsConstant      LDNS_AA
 syn keyword  ldnsConstant      LDNS_TC
+syn keyword  ldnsConstant      LDNS_RD
 syn keyword  ldnsConstant      LDNS_CD
 syn keyword  ldnsConstant      LDNS_RA
 syn keyword  ldnsConstant      LDNS_AD
+syn keyword  ldnsConstant      LDNS_MAX_PACKETLEN
 syn keyword  ldnsConstant      LDNS_PACKET_QUESTION
 syn keyword  ldnsConstant      LDNS_PACKET_REFERRAL
 syn keyword  ldnsConstant      LDNS_PACKET_ANSWER
@@ -91,7 +112,6 @@ syn keyword  ldnsConstant    LDNS_SECTION_AUTHORITY
 syn keyword  ldnsConstant      LDNS_SECTION_ADDITIONAL
 syn keyword  ldnsConstant      LDNS_SECTION_ANY
 syn keyword  ldnsConstant      LDNS_SECTION_ANY_NOQUESTION
-syn keyword  ldnsConstant      LDNS_MAX_PACKETLEN
 syn keyword  ldnsConstant      LDNS_PACKET_QUERY
 syn keyword  ldnsConstant      LDNS_PACKET_IQUERY
 syn keyword  ldnsConstant      LDNS_PACKET_STATUS
@@ -111,65 +131,123 @@ syn keyword  ldnsConstant       LDNS_RCODE_NOTAUTH
 syn keyword  ldnsConstant       LDNS_RCODE_NOTZONE
 
 " dns/error.h
-syn keyword ldnsMacro  LDNS_STATUS_OK
-syn keyword ldnsMacro  LDNS_STATUS_EMPTY_LABEL
-syn keyword ldnsMacro  LDNS_STATUS_LABEL_OVERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_LABEL_UNDERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_DOMAINNAME_OVERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_DOMAINNAME_UNDERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_DDD_OVERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_PACKET_OVERFLOW
-syn keyword ldnsMacro  LDNS_STATUS_MEM_ERR
-syn keyword ldnsMacro  LDNS_STATUS_INTERNAL_ERR
-syn keyword ldnsMacro  LDNS_STATUS_ERR
-syn keyword ldnsMacro  LDNS_STATUS_ADDRESS_ERR
-syn keyword ldnsMacro  LDNS_STATUS_NETWORK_ERR
-syn keyword ldnsMacro  LDNS_STATUS_NO_NAMESERVERS_ERR
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_POINTER
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_INT
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_IP4
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_IP6
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_STR
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_B64
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_HEX
-syn keyword ldnsMacro  LDNS_STATUS_UNKNOWN_INET
-syn keyword ldnsMacro  LDNS_STATUS_NOT_IMPL
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_UNKNOWN_ALGO
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_VALIDATED
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_BOGUS
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_INT
-syn keyword ldnsMacro  LDNS_STATUS_INVALID_TIME
-syn keyword ldnsMacro  LDNS_STATUS_NETWORK_ERR
-syn keyword ldnsMacro  LDNS_STATUS_ADDRESS_ERR
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_NO_RRSIG
-syn keyword ldnsMacro  LDNS_STATUS_NULL
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_NO_DNSKEY
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_SIG_EXPIRED
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_TSIG_ERR
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_TSIG_BOGUS
-syn keyword ldnsMacro  LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION
-syn keyword ldnsMacro   LDNS_STATUS_CRYPTO_TSIG_ERR
-syn keyword ldnsMacro   LDNS_STATUS_RES_NO_NS 
-syn keyword ldnsMacro   LDNS_STATUS_RES_QUERY
-syn keyword ldnsMacro   LDNS_STATUS_WIRE_INCOMPLETE_HEADER
-syn keyword ldnsMacro   LDNS_STATUS_WIRE_INCOMPLETE_QUESTION
-syn keyword ldnsMacro   LDNS_STATUS_WIRE_INCOMPLETE_ANSWER
-syn keyword ldnsMacro   LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY
-syn keyword ldnsMacro   LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL
-syn keyword ldnsMacro   LDNS_STATUS_NO_DATA
-syn keyword ldnsMacro   LDNS_STATUS_CERT_BAD_ALGORITHM
+syn keyword ldnsConstant       LDNS_STATUS_OK
+syn keyword ldnsConstant       LDNS_STATUS_EMPTY_LABEL
+syn keyword ldnsConstant       LDNS_STATUS_LABEL_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_DOMAINNAME_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_DOMAINNAME_UNDERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_DDD_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_PACKET_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_POINTER
+syn keyword ldnsConstant       LDNS_STATUS_MEM_ERR
+syn keyword ldnsConstant       LDNS_STATUS_INTERNAL_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SSL_ERR
+syn keyword ldnsConstant       LDNS_STATUS_ERR
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_INT
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_IP4
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_IP6
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_STR
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_B32_EXT
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_B64
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_HEX
+syn keyword ldnsConstant       LDNS_STATUS_INVALID_TIME
+syn keyword ldnsConstant       LDNS_STATUS_NETWORK_ERR
+syn keyword ldnsConstant       LDNS_STATUS_ADDRESS_ERR
+syn keyword ldnsConstant       LDNS_STATUS_FILE_ERR
+syn keyword ldnsConstant       LDNS_STATUS_UNKNOWN_INET
+syn keyword ldnsConstant       LDNS_STATUS_NOT_IMPL
+syn keyword ldnsConstant       LDNS_STATUS_NULL
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_UNKNOWN_ALGO
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_RRSIG
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_DNSKEY
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_DS
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_TRUSTED_DS
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_VALIDATED
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_BOGUS
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_SIG_EXPIRED
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_TSIG_BOGUS
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_TSIG_ERR
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION
+syn keyword ldnsConstant       LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR
+syn keyword ldnsConstant       LDNS_STATUS_ENGINE_KEY_NOT_LOADED
+syn keyword ldnsConstant       LDNS_STATUS_NSEC3_ERR
+syn keyword ldnsConstant       LDNS_STATUS_RES_NO_NS
+syn keyword ldnsConstant       LDNS_STATUS_RES_QUERY
+syn keyword ldnsConstant       LDNS_STATUS_WIRE_INCOMPLETE_HEADER
+syn keyword ldnsConstant       LDNS_STATUS_WIRE_INCOMPLETE_QUESTION
+syn keyword ldnsConstant       LDNS_STATUS_WIRE_INCOMPLETE_ANSWER
+syn keyword ldnsConstant       LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY
+syn keyword ldnsConstant       LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL
+syn keyword ldnsConstant       LDNS_STATUS_NO_DATA
+syn keyword ldnsConstant       LDNS_STATUS_CERT_BAD_ALGORITHM
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_TYPE_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_CLASS_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_TTL_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_RDATA_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_DNAME_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_VERSION_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_ALG_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_KEYWORD_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_TTL
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_ORIGIN
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_INCLUDE
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_EMPTY
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_BAD_ESCAPE
+syn keyword ldnsConstant       LDNS_STATUS_SOCKET_ERROR
+syn keyword ldnsConstant       LDNS_STATUS_SYNTAX_ERR
+syn keyword ldnsConstant       LDNS_STATUS_DNSSEC_EXISTENCE_DENIED
+syn keyword ldnsConstant       LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED
+syn keyword ldnsConstant       LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED
+syn keyword ldnsConstant       LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND
+syn keyword ldnsConstant       LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG
+syn keyword ldnsConstant       LDNS_STATUS_MISSING_RDATA_FIELDS_KEY
+
 
 " ldns/resolver.h
 syn keyword  ldnsType          ldns_resolver
+syn keyword  ldnsConstant       LDNS_RESOLV_CONF
+syn keyword  ldnsConstant       LDNS_RESOLV_HOSTS
+syn keyword  ldnsConstant       LDNS_RESOLV_KEYWORD
+syn keyword  ldnsConstant       LDNS_RESOLV_DEFDOMAIN
+syn keyword  ldnsConstant       LDNS_RESOLV_NAMESERVER
+syn keyword  ldnsConstant       LDNS_RESOLV_SEARCH
+syn keyword  ldnsConstant       LDNS_RESOLV_SORTLIST
+syn keyword  ldnsConstant       LDNS_RESOLV_OPTIONS
+syn keyword  ldnsConstant       LDNS_RESOLV_ANCHOR
+syn keyword  ldnsConstant       LDNS_RESOLV_KEYWORDS
+syn keyword  ldnsConstant       LDNS_RESOLV_INETANY
+syn keyword  ldnsConstant       LDNS_RESOLV_INET
+syn keyword  ldnsConstant       LDNS_RESOLV_INET6
+syn keyword  ldnsConstant       LDNS_RESOLV_RTT_INF
+syn keyword  ldnsConstant       LDNS_RESOLV_RTT_MIN
 
 " ldns/zone.h
 syn keyword  ldnsType          ldns_zone
 
+" ldns/dnssec.h
+syn keyword  ldnsConstant       LDNS_NSEC3_MAX_ITERATIONS
+syn keyword  ldnsConstant       LDNS_DEFAULT_EXP_TIME
+syn keyword  ldnsConstant       LDNS_DNSSEC_KEYPROTO
+syn keyword  ldnsConstant      LDNS_MAX_KEYLEN
+" ldns/dnssec_sign.h
+" --
+" ldns/dnssec_zone.h
+syn keyword  ldnsType           ldns_dnssec_rrs
+syn keyword  ldnsType           ldns_dnssec_rrsets
+syn keyword  ldnsType           ldns_dnssec_name
+syn keyword  ldnsType           ldns_dnssec_zone
+" ldns/dnssec_verify.h
+syn keyword  ldnsType           ldns_dnssec_data_chain
+syn keyword  ldnsType           ldns_dnssec_trust_tree
+
 " ldns/rr.h 
 syn keyword  ldnsType          ldns_rr_list 
 syn keyword  ldnsType           ldns_rr_descriptor
@@ -178,155 +256,204 @@ syn keyword  ldnsType           ldns_rr_type
 syn keyword  ldnsType           ldns_rr_class
 syn keyword  ldnsType          ldns_rr_compress
 
+syn keyword  ldnsConstant       LDNS_MAX_LABELLEN     
+syn keyword  ldnsConstant       LDNS_MAX_DOMAINLEN
+syn keyword  ldnsConstant       LDNS_RR_COMPRESS
+syn keyword  ldnsConstant       LDNS_RR_NO_COMPRESS
+
 syn keyword  ldnsConstant      LDNS_RR_CLASS_IN
 syn keyword  ldnsConstant      LDNS_RR_CLASS_CH
 syn keyword  ldnsConstant      LDNS_RR_CLASS_HS  
 syn keyword  ldnsConstant      LDNS_RR_CLASS_NONE
 syn keyword  ldnsConstant      LDNS_RR_CLASS_ANY 
 
-syn keyword  ldnsConstant LDNS_RR_TYPE_A          
-syn keyword  ldnsConstant LDNS_RR_TYPE_NS        
-syn keyword  ldnsConstant LDNS_RR_TYPE_MD       
-syn keyword  ldnsConstant LDNS_RR_TYPE_MF         
-syn keyword  ldnsConstant LDNS_RR_TYPE_CNAME     
-syn keyword  ldnsConstant LDNS_RR_TYPE_SOA       
-syn keyword  ldnsConstant LDNS_RR_TYPE_MB         
-syn keyword  ldnsConstant LDNS_RR_TYPE_MG         
-syn keyword  ldnsConstant LDNS_RR_TYPE_MR       
-syn keyword  ldnsConstant LDNS_RR_TYPE_NULL       
-syn keyword  ldnsConstant LDNS_RR_TYPE_WKS        
-syn keyword  ldnsConstant LDNS_RR_TYPE_PTR        
-syn keyword  ldnsConstant LDNS_RR_TYPE_HINFO      
-syn keyword  ldnsConstant LDNS_RR_TYPE_MINFO      
-syn keyword  ldnsConstant LDNS_RR_TYPE_MX         
-syn keyword  ldnsConstant LDNS_RR_TYPE_TXT        
-syn keyword  ldnsConstant LDNS_RR_TYPE_RP         
-syn keyword  ldnsConstant LDNS_RR_TYPE_AFSDB      
-syn keyword  ldnsConstant LDNS_RR_TYPE_X25        
-syn keyword  ldnsConstant LDNS_RR_TYPE_ISDN       
-syn keyword  ldnsConstant LDNS_RR_TYPE_RT         
-syn keyword  ldnsConstant LDNS_RR_TYPE_NSAP       
-syn keyword  ldnsConstant LDNS_RR_TYPE_SIG        
-syn keyword  ldnsConstant LDNS_RR_TYPE_KEY        
-syn keyword  ldnsConstant LDNS_RR_TYPE_PX         
-syn keyword  ldnsConstant LDNS_RR_TYPE_GPOS
-syn keyword  ldnsConstant LDNS_RR_TYPE_AAAA       
-syn keyword  ldnsConstant LDNS_RR_TYPE_LOC        
-syn keyword  ldnsConstant LDNS_RR_TYPE_NXT        
-syn keyword  ldnsConstant LDNS_RR_TYPE_SRV        
-syn keyword  ldnsConstant LDNS_RR_TYPE_NAPTR      
-syn keyword  ldnsConstant LDNS_RR_TYPE_KX         
-syn keyword  ldnsConstant LDNS_RR_TYPE_CERT       
-syn keyword  ldnsConstant LDNS_RR_TYPE_DNAME      
-syn keyword  ldnsConstant LDNS_RR_TYPE_OPT        
-syn keyword  ldnsConstant LDNS_RR_TYPE_APL        
-syn keyword  ldnsConstant LDNS_RR_TYPE_DS         
-syn keyword  ldnsConstant LDNS_RR_TYPE_SSHFP      
-syn keyword  ldnsConstant LDNS_RR_TYPE_RRSIG      
-syn keyword  ldnsConstant LDNS_RR_TYPE_NSEC       
-syn keyword  ldnsConstant LDNS_RR_TYPE_DNSKEY     
-syn keyword  ldnsConstant LDNS_RR_TYPE_EID
-syn keyword  ldnsConstant LDNS_RR_TYPE_NIMLOC
-syn keyword  ldnsConstant LDNS_RR_TYPE_ATMA
-syn keyword  ldnsConstant LDNS_RR_TYPE_A6
-syn keyword  ldnsConstant LDNS_RR_TYPE_SINK
-syn keyword  ldnsConstant LDNS_RR_TYPE_IPSECKEY
-syn keyword  ldnsConstant LDNS_RR_TYPE_UINFO
-syn keyword  ldnsConstant LDNS_RR_TYPE_UID
-syn keyword  ldnsConstant LDNS_RR_TYPE_GID
-syn keyword  ldnsConstant LDNS_RR_TYPE_UNSPEC
-syn keyword  ldnsConstant LDNS_RR_TYPE_TSIG       
-syn keyword  ldnsConstant LDNS_RR_TYPE_IXFR       
-syn keyword  ldnsConstant LDNS_RR_TYPE_AXFR       
-syn keyword  ldnsConstant LDNS_RR_TYPE_MAILB      
-syn keyword  ldnsConstant LDNS_RR_TYPE_MAILA      
-syn keyword  ldnsConstant LDNS_RR_TYPE_ANY        
-syn keyword  ldnsConstant LDNS_MAX_LABELLEN     
-syn keyword  ldnsConstant LDNS_MAX_DOMAINLEN
-syn keyword  ldnsConstant LDNS_RR_COMPRESS
-syn keyword  ldnsConstant LDNS_RR_NO_COMPRESS
-
-syn keyword  ldnsMacro QHEADERSZ
-syn keyword  ldnsMacro RD_MASK
-syn keyword  ldnsMacro RD_SHIFT
-syn keyword  ldnsMacro LDNS_RD
-syn keyword  ldnsMacro RD_SET
-syn keyword  ldnsMacro RD_CLR
-syn keyword  ldnsMacro  TC_MASK
-syn keyword  ldnsMacro  TC_SHIFT
-syn keyword  ldnsMacro LDNS_TC
-syn keyword  ldnsMacro TC_SET
-syn keyword  ldnsMacro TC_CLR
-syn keyword  ldnsMacro AA_MASK
-syn keyword  ldnsMacro AA_SHIFT
-syn keyword  ldnsMacro LDNS_AA
-syn keyword  ldnsMacro AA_SET
-syn keyword  ldnsMacro AA_CLR
-syn keyword  ldnsMacro OPCODE_MASK
-syn keyword  ldnsMacro OPCODE_SHIFT
-syn keyword  ldnsMacro OPCODE
-syn keyword  ldnsMacro OPCODE_SET
-syn keyword  ldnsMacro QR_MASK
-syn keyword  ldnsMacro QR_SHIFT
-syn keyword  ldnsMacro LDNS_QR
-syn keyword  ldnsMacro QR_SET
-syn keyword  ldnsMacro QR_CLR
-syn keyword  ldnsMacro RCODE_MASK
-syn keyword  ldnsMacro RCODE_SHIFT
-syn keyword  ldnsMacro RCODE
-syn keyword  ldnsMacro RCODE_SET
-syn keyword  ldnsMacro CD_MASK
-syn keyword  ldnsMacro CD_SHIFT
-syn keyword  ldnsMacro LDNS_CD
-syn keyword  ldnsMacro CD_SET
-syn keyword  ldnsMacro CD_CLR
-syn keyword  ldnsMacro AD_MASK
-syn keyword  ldnsMacro AD_SHIFT
-syn keyword  ldnsMacro LDNS_AD
-syn keyword  ldnsMacro AD_SET
-syn keyword  ldnsMacro AD_CLR
-syn keyword  ldnsMacro Z_MASK
-syn keyword  ldnsMacro Z_SHIFT
-syn keyword  ldnsMacro LDNS_Z
-syn keyword  ldnsMacro Z_SET
-syn keyword  ldnsMacro Z_CLR
-syn keyword  ldnsMacro RA_MASK
-syn keyword  ldnsMacro RA_SHIFT
-syn keyword  ldnsMacro LDNS_RA
-syn keyword  ldnsMacro RA_SET
-syn keyword  ldnsMacro RA_CLR
-syn keyword  ldnsMacro LDNS_ID
-syn keyword  ldnsMacro  QDCOUNT_OFF
-syn keyword  ldnsMacro QDCOUNT
-syn keyword  ldnsMacro  ANCOUNT_OFF
-syn keyword  ldnsMacro ANCOUNT
-syn keyword  ldnsMacro  NSCOUNT_OFF
-syn keyword  ldnsMacro NSCOUNT
-syn keyword  ldnsMacro  ARCOUNT_OFF
-syn keyword  ldnsMacro         ARCOUNT
+syn keyword ldnsConstant       LDNS_RR_TYPE_A
+syn keyword ldnsConstant       LDNS_RR_TYPE_A6
+syn keyword ldnsConstant       LDNS_RR_TYPE_AAAA
+syn keyword ldnsConstant       LDNS_RR_TYPE_AFSDB
+syn keyword ldnsConstant       LDNS_RR_TYPE_ANY
+syn keyword ldnsConstant       LDNS_RR_TYPE_APL
+syn keyword ldnsConstant       LDNS_RR_TYPE_ATMA
+syn keyword ldnsConstant       LDNS_RR_TYPE_AXFR
+syn keyword ldnsConstant       LDNS_RR_TYPE_CERT
+syn keyword ldnsConstant       LDNS_RR_TYPE_CNAME
+syn keyword ldnsConstant       LDNS_RR_TYPE_COUNT
+syn keyword ldnsConstant       LDNS_RR_TYPE_DHCID
+syn keyword ldnsConstant       LDNS_RR_TYPE_DLV
+syn keyword ldnsConstant       LDNS_RR_TYPE_DNAME
+syn keyword ldnsConstant       LDNS_RR_TYPE_DNSKEY
+syn keyword ldnsConstant       LDNS_RR_TYPE_DS
+syn keyword ldnsConstant       LDNS_RR_TYPE_EID
+syn keyword ldnsConstant       LDNS_RR_TYPE_FIRST
+syn keyword ldnsConstant       LDNS_RR_TYPE_GID
+syn keyword ldnsConstant       LDNS_RR_TYPE_GPOS
+syn keyword ldnsConstant       LDNS_RR_TYPE_HINFO
+syn keyword ldnsConstant       LDNS_RR_TYPE_IPSECKEY
+syn keyword ldnsConstant       LDNS_RR_TYPE_ISDN
+syn keyword ldnsConstant       LDNS_RR_TYPE_IXFR
+syn keyword ldnsConstant       LDNS_RR_TYPE_KEY
+syn keyword ldnsConstant       LDNS_RR_TYPE_KX
+syn keyword ldnsConstant       LDNS_RR_TYPE_LAST 
+syn keyword ldnsConstant       LDNS_RR_TYPE_LOC
+syn keyword ldnsConstant       LDNS_RR_TYPE_MAILA
+syn keyword ldnsConstant       LDNS_RR_TYPE_MAILB
+syn keyword ldnsConstant       LDNS_RR_TYPE_MB
+syn keyword ldnsConstant       LDNS_RR_TYPE_MD
+syn keyword ldnsConstant       LDNS_RR_TYPE_MF
+syn keyword ldnsConstant       LDNS_RR_TYPE_MG
+syn keyword ldnsConstant       LDNS_RR_TYPE_MINFO
+syn keyword ldnsConstant       LDNS_RR_TYPE_MR
+syn keyword ldnsConstant       LDNS_RR_TYPE_MX
+syn keyword ldnsConstant       LDNS_RR_TYPE_NAPTR
+syn keyword ldnsConstant       LDNS_RR_TYPE_NIMLOC
+syn keyword ldnsConstant       LDNS_RR_TYPE_NS
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSAP
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSAP_PTR
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC3
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC3
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC3PARAM
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC3PARAMS
+syn keyword ldnsConstant       LDNS_RR_TYPE_NSEC3PARAMS
+syn keyword ldnsConstant       LDNS_RR_TYPE_NULL
+syn keyword ldnsConstant       LDNS_RR_TYPE_NXT
+syn keyword ldnsConstant       LDNS_RR_TYPE_OPT
+syn keyword ldnsConstant       LDNS_RR_TYPE_PTR
+syn keyword ldnsConstant       LDNS_RR_TYPE_PX
+syn keyword ldnsConstant       LDNS_RR_TYPE_RP
+syn keyword ldnsConstant       LDNS_RR_TYPE_RRSIG
+syn keyword ldnsConstant       LDNS_RR_TYPE_RT
+syn keyword ldnsConstant       LDNS_RR_TYPE_SIG
+syn keyword ldnsConstant       LDNS_RR_TYPE_SINK
+syn keyword ldnsConstant       LDNS_RR_TYPE_SOA
+syn keyword ldnsConstant       LDNS_RR_TYPE_SPF
+syn keyword ldnsConstant       LDNS_RR_TYPE_SRV
+syn keyword ldnsConstant       LDNS_RR_TYPE_SSHFP
+syn keyword ldnsConstant        LDNS_RR_TYPE_TALINK
+syn keyword ldnsConstant       LDNS_RR_TYPE_TSIG
+syn keyword ldnsConstant       LDNS_RR_TYPE_TXT
+syn keyword ldnsConstant       LDNS_RR_TYPE_UID
+syn keyword ldnsConstant       LDNS_RR_TYPE_UINFO
+syn keyword ldnsConstant       LDNS_RR_TYPE_UNSPEC
+syn keyword ldnsConstant       LDNS_RR_TYPE_WKS
+syn keyword ldnsConstant       LDNS_RR_TYPE_X25
 
 " ldns/buffer.h
 syn keyword  ldnsType          ldns_buffer
 syn keyword  ldnsConstant      LDNS_MIN_BUFLEN
 
 " ldns/host2str.h
-syn keyword  ldnsType  ldns_lookup_table
-syn keyword  ldnsConstant LDNS_APL_IP4
-syn keyword  ldnsConstant LDNS_APL_IP6
+syn keyword  ldnsConstant       LDNS_APL_IP4
+syn keyword  ldnsConstant       LDNS_APL_IP6
+syn keyword  ldnsConstant       LDNS_APL_MASK
+syn keyword  ldnsConstant       LDNS_APL_NEGATION
 
 " ldns/keys.h
-syn keyword  ldnsType   ldns_key
-syn keyword  ldnsType   ldns_key_list
-syn keyword  ldnsType   ldns_signing_algorithm
-syn keyword  ldnsType   ldns_hash
+syn keyword  ldnsType           ldns_key
+syn keyword  ldnsType           ldns_key_list
+syn keyword  ldnsType           ldns_signing_algorithm
+syn keyword  ldnsType           ldns_hash
+syn keyword  ldnsType           ldns_algorithm
+syn keyword  ldnsConstant       LDNS_KEY_ZONE_KEY
+syn keyword  ldnsConstant       LDNS_KEY_SEP_KEY
+syn keyword  ldnsConstant       LDNS_KEY_REVOKE_KEY
+syn keyword  ldnsConstant       LDNS_SHA1
+syn keyword  ldnsConstant       LDNS_SHA256
+syn keyword  ldnsConstant       LDNS_HASH_GOST
+syn keyword  ldnsConstant       LDNS_SHA384
 
-" ldns/dnssec.h
-syn keyword  ldnsConstant      LDNS_MAX_KEYLEN
+syn keyword  ldnsConstant       LDNS_SIGN_RSAMD5
+syn keyword  ldnsConstant       LDNS_SIGN_RSASHA1
+syn keyword  ldnsConstant       LDNS_SIGN_DSA
+syn keyword  ldnsConstant       LDNS_SIGN_RSASHA1_NSEC3
+syn keyword  ldnsConstant       LDNS_SIGN_RSASHA256
+syn keyword  ldnsConstant       LDNS_SIGN_RSASHA512
+syn keyword  ldnsConstant       LDNS_SIGN_DSA_NSEC3
+syn keyword  ldnsConstant       LDNS_SIGN_ECC_GOST
+syn keyword  ldnsConstant       LDNS_SIGN_ECDSAP256SHA256
+syn keyword  ldnsConstant       LDNS_SIGN_ECDSAP384SHA384
+syn keyword  ldnsConstant       LDNS_SIGN_HMACMD5
+syn keyword  ldnsConstant       LDNS_SIGN_HMACSHA1
+syn keyword  ldnsConstant       LDNS_SIGN_HMACSHA256
+
+" ldns/wire2host.h
+syn keyword  ldnsMacro          LDNS_WIRE2HOST_H
+syn keyword  ldnsMacro          LDNS_HEADER_SIZE
+syn keyword  ldnsMacro          LDNS_RD_MASK
+syn keyword  ldnsMacro          LDNS_RD_SHIFT
+syn keyword  ldnsMacro          LDNS_RD_WIRE
+syn keyword  ldnsMacro          LDNS_RD_SET
+syn keyword  ldnsMacro          LDNS_RD_CLR
+syn keyword  ldnsMacro          LDNS_TC_MASK
+syn keyword  ldnsMacro          LDNS_TC_SHIFT
+syn keyword  ldnsMacro          LDNS_TC_WIRE
+syn keyword  ldnsMacro          LDNS_TC_SET
+syn keyword  ldnsMacro          LDNS_TC_CLR
+syn keyword  ldnsMacro          LDNS_AA_MASK
+syn keyword  ldnsMacro          LDNS_AA_SHIFT
+syn keyword  ldnsMacro          LDNS_AA_WIRE
+syn keyword  ldnsMacro          LDNS_AA_SET
+syn keyword  ldnsMacro          LDNS_AA_CLR
+syn keyword  ldnsMacro          LDNS_OPCODE_MASK
+syn keyword  ldnsMacro          LDNS_OPCODE_SHIFT
+syn keyword  ldnsMacro          LDNS_OPCODE_WIRE
+syn keyword  ldnsMacro          LDNS_OPCODE_SET
+syn keyword  ldnsMacro          LDNS_QR_MASK
+syn keyword  ldnsMacro          LDNS_QR_SHIFT
+syn keyword  ldnsMacro          LDNS_QR_WIRE
+syn keyword  ldnsMacro          LDNS_QR_SET
+syn keyword  ldnsMacro          LDNS_QR_CLR
+syn keyword  ldnsMacro          LDNS_RCODE_MASK
+syn keyword  ldnsMacro          LDNS_RCODE_SHIFT
+syn keyword  ldnsMacro          LDNS_RCODE_WIRE
+syn keyword  ldnsMacro          LDNS_RCODE_SET
+syn keyword  ldnsMacro          LDNS_CD_MASK
+syn keyword  ldnsMacro          LDNS_CD_SHIFT
+syn keyword  ldnsMacro          LDNS_CD_WIRE
+syn keyword  ldnsMacro          LDNS_CD_SET
+syn keyword  ldnsMacro          LDNS_CD_CLR
+syn keyword  ldnsMacro          LDNS_AD_MASK
+syn keyword  ldnsMacro          LDNS_AD_SHIFT
+syn keyword  ldnsMacro          LDNS_AD_WIRE
+syn keyword  ldnsMacro          LDNS_AD_SET
+syn keyword  ldnsMacro          LDNS_AD_CLR
+syn keyword  ldnsMacro          LDNS_Z_MASK
+syn keyword  ldnsMacro          LDNS_Z_SHIFT
+syn keyword  ldnsMacro          LDNS_Z_WIRE
+syn keyword  ldnsMacro          LDNS_Z_SET
+syn keyword  ldnsMacro          LDNS_Z_CLR
+syn keyword  ldnsMacro          LDNS_RA_MASK
+syn keyword  ldnsMacro          LDNS_RA_SHIFT
+syn keyword  ldnsMacro          LDNS_RA_WIRE
+syn keyword  ldnsMacro          LDNS_RA_SET
+syn keyword  ldnsMacro          LDNS_RA_CLR
+syn keyword  ldnsMacro          LDNS_ID_WIRE
+syn keyword  ldnsMacro          LDNS_ID_SET
+syn keyword  ldnsMacro          LDNS_QDCOUNT_OFF
+syn keyword  ldnsMacro          QDCOUNT
+syn keyword  ldnsMacro          LDNS_QDCOUNT
+syn keyword  ldnsMacro          LDNS_ANCOUNT_OFF
+syn keyword  ldnsMacro          LDNS_ANCOUNT
+syn keyword  ldnsMacro          LDNS_NSCOUNT_OFF
+syn keyword  ldnsMacro          LDNS_NSCOUNT
+syn keyword  ldnsMacro          LDNS_ARCOUNT_OFF
+syn keyword  ldnsMacro          LDNS_ARCOUNT
+
+" ldns/host2wire.h
+" --
+
+" ldns/* -- All functions
+" Created with:
+" Get all the functions that start with 'ldns_'
+" egrep '^[a-z_]+ [*a-z_0-9]+\(' *.h | sed -e 's/(.*$//' | awk '{print $2}' | \
+" sed 's/^\*//' | grep '^ldns' | sort
+" Not included, but could be added...?
 
 " Default highlighting
 command -nargs=+ HiLink hi def link <args>
 HiLink ldnsType                Type
-HiLink ldnsFunction            Function
+" Currently no functions are defined
+HiLink ldnsFunction            Function 
 HiLink ldnsMacro               Macro
 HiLink ldnsConstant            Constant
 delcommand HiLink