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");
}
}
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(
}
} 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);
}
}
}
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;
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");
}
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");
}
}
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");
}
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;
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;
}
}
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;
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) {
}
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;
}
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;
}
}
}
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;
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;
}
/* 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) {
* 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;
}
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;
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;
}
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;
}
}
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':
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());
}
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");
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");
}
}
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 */
" 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
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
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
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
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
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
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
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