diff --git a/src/knot/ctl/remote.c b/src/knot/ctl/remote.c
index 177f765db68171346a5103894532b1c739ba84d8..4f6c49576a5ccdd62984999f51e281b70ff4e7e4 100644
--- a/src/knot/ctl/remote.c
+++ b/src/knot/ctl/remote.c
@@ -101,7 +101,7 @@ static int remote_rdata_apply(server_t *s, remote_cmdargs_t* a, remote_zonef_t *
 
 		uint16_t rr_count = knot_rrset_rr_count(rr);
 		for (uint16_t i = 0; i < rr_count; i++) {
-			const knot_dname_t *dn = knot_rrs_ns_name(&rr->rrs, i);
+			const knot_dname_t *dn = knot_ns_name(&rr->rrs, i);
 			rcu_read_lock();
 			zone = knot_zonedb_find(s->zone_db, dn);
 			if (cb(s, zone) != KNOT_EOK) {
@@ -242,7 +242,7 @@ static int remote_c_zonestatus(server_t *s, remote_cmdargs_t* a)
 			soa_rrs = knot_node_rrs(zone->contents->apex,
 			                        KNOT_RRTYPE_SOA);
 			assert(soa_rrs != NULL);
-			serial = knot_rrs_soa_serial(soa_rrs);
+			serial = knot_soa_serial(soa_rrs);
 		}
 
 		/* Evalute zone type. */
@@ -539,7 +539,7 @@ static void log_command(const char *cmd, const remote_cmdargs_t* args)
 
 		uint16_t rr_count = knot_rrset_rr_count(rr);
 		for (uint16_t j = 0; j < rr_count; j++) {
-			const knot_dname_t *dn = knot_rrs_ns_name(&rr->rrs, j);
+			const knot_dname_t *dn = knot_ns_name(&rr->rrs, j);
 			char *name = knot_dname_to_str(dn);
 
 			int ret = snprintf(params, rest, " %s", name);
diff --git a/src/knot/dnssec/nsec3-chain.c b/src/knot/dnssec/nsec3-chain.c
index cf3fc321c2da0093d2ac16e4e68053c1c2e0767e..7d42a17b8aef3395efd867cb28e1dd50504f69ea 100644
--- a/src/knot/dnssec/nsec3-chain.c
+++ b/src/knot/dnssec/nsec3-chain.c
@@ -369,14 +369,14 @@ static int connect_nsec3_nodes(knot_node_t *a, knot_node_t *b,
 
 	knot_rrs_t *a_rrs = knot_node_get_rrs(a, KNOT_RRTYPE_NSEC3);
 	assert(a_rrs);
-	uint8_t algorithm = knot_rrs_nsec3_algorithm(a_rrs, 0);
+	uint8_t algorithm = knot_nsec3_algorithm(a_rrs, 0);
 	if (algorithm == 0) {
 		return KNOT_EINVAL;
 	}
 
 	uint8_t *raw_hash = NULL;
 	uint8_t raw_length = 0;
-	knot_rrs_nsec3_next_hashed(a_rrs, 0, &raw_hash, &raw_length);
+	knot_nsec3_next_hashed(a_rrs, 0, &raw_hash, &raw_length);
 	if (raw_hash == NULL) {
 		return KNOT_EINVAL;
 	}
diff --git a/src/knot/dnssec/zone-nsec.c b/src/knot/dnssec/zone-nsec.c
index e766809a091d3b54ed1bcb41e986be4e7e162774..d9ab40f89d931c84bbcbb171cceba1f79577b096 100644
--- a/src/knot/dnssec/zone-nsec.c
+++ b/src/knot/dnssec/zone-nsec.c
@@ -98,7 +98,7 @@ static bool get_zone_soa_min_ttl(const knot_zone_contents_t *zone,
 		return false;
 	}
 
-	uint32_t result =  knot_rrs_soa_minimum(soa);
+	uint32_t result =  knot_soa_minimum(soa);
 	if (result == 0) {
 		return false;
 	}
diff --git a/src/knot/dnssec/zone-sign.c b/src/knot/dnssec/zone-sign.c
index 960a7d98217b2d7bc9a559278efe25c0c9a55a15..7d561d1257b9a2d8f531ce1e4b664bebae94ba82 100644
--- a/src/knot/dnssec/zone-sign.c
+++ b/src/knot/dnssec/zone-sign.c
@@ -80,8 +80,8 @@ static bool valid_signature_exists(const knot_rrset_t *covered,
 
 	uint16_t rrsigs_rdata_count = knot_rrset_rr_count(rrsigs);
 	for (uint16_t i = 0; i < rrsigs_rdata_count; i++) {
-		uint16_t keytag = knot_rrs_rrsig_key_tag(&rrsigs->rrs, i);
-		uint16_t type_covered = knot_rrs_rrsig_type_covered(&rrsigs->rrs, i);
+		uint16_t keytag = knot_rrsig_key_tag(&rrsigs->rrs, i);
+		uint16_t type_covered = knot_rrsig_type_covered(&rrsigs->rrs, i);
 		if (keytag != key->keytag || type_covered != covered->type) {
 			continue;
 		}
@@ -172,7 +172,7 @@ static const knot_zone_key_t *get_matching_zone_key(const knot_rrset_t *rrsigs,
 	assert(rrsigs && rrsigs->type == KNOT_RRTYPE_RRSIG);
 	assert(keys);
 
-	uint16_t keytag = knot_rrs_rrsig_key_tag(&rrsigs->rrs, pos);
+	uint16_t keytag = knot_rrsig_key_tag(&rrsigs->rrs, pos);
 
 	return knot_get_zone_key(keys, keytag);
 }
@@ -190,7 +190,7 @@ static void note_earliest_expiration(const knot_rrset_t *rrsigs, size_t pos,
 	assert(rrsigs);
 	assert(expires_at);
 
-	const uint32_t current = knot_rrs_rrsig_sig_expiration(&rrsigs->rrs, pos);
+	const uint32_t current = knot_rrsig_sig_expiration(&rrsigs->rrs, pos);
 	if (current < *expires_at) {
 		*expires_at = current;
 	}
@@ -461,7 +461,7 @@ static int remove_standalone_rrsigs(const knot_node_t *node,
 
 	uint16_t rrsigs_rdata_count = knot_rrset_rr_count(rrsigs);
 	for (uint16_t i = 0; i < rrsigs_rdata_count; ++i) {
-		uint16_t type_covered = knot_rrs_rrsig_type_covered(&rrsigs->rrs, i);
+		uint16_t type_covered = knot_rrsig_type_covered(&rrsigs->rrs, i);
 		if (!knot_node_rrtype_exists(node, type_covered)) {
 			knot_rrset_t *to_remove = knot_rrset_new(rrsigs->owner,
 			                                         rrsigs->type,
@@ -1328,7 +1328,7 @@ int knot_zone_sign_update_soa(const knot_rrset_t *soa,
 
 	dbg_dnssec_verb("Updating SOA...\n");
 
-	uint32_t serial = knot_rrs_soa_serial(&soa->rrs);
+	uint32_t serial = knot_soa_serial(&soa->rrs);
 	if (serial == UINT32_MAX && policy->soa_up == KNOT_SOA_SERIAL_UPDATE) {
 		// TODO: this is wrong, the value should be 'rewound' to 0 in this case
 		return KNOT_EINVAL;
@@ -1369,7 +1369,7 @@ int knot_zone_sign_update_soa(const knot_rrset_t *soa,
 		return KNOT_ENOMEM;
 	}
 
-	knot_rrs_soa_serial_set(&soa_to->rrs, new_serial);
+	knot_soa_serial_set(&soa_to->rrs, new_serial);
 
 	// add signatures for new SOA
 
diff --git a/src/knot/nameserver/internet.c b/src/knot/nameserver/internet.c
index 2dda62b36c66c0095c9546cf406b6de61bd50ef8..e488237cb17391aa724c1e1e22d526647bfc4750 100644
--- a/src/knot/nameserver/internet.c
+++ b/src/knot/nameserver/internet.c
@@ -76,7 +76,7 @@ static int dname_cname_synth(const knot_rrset_t *dname_rr,
 
 	/* Replace last labels of qname with DNAME. */
 	const knot_dname_t *dname_wire = dname_rr->owner;
-	const knot_dname_t *dname_tgt = knot_rrs_dname_target(&dname_rr->rrs);
+	const knot_dname_t *dname_tgt = knot_dname_target(&dname_rr->rrs);
 	int labels = knot_dname_labels(dname_wire, NULL);
 	knot_dname_t *cname = knot_dname_replace_suffix(qname, labels, dname_tgt);
 	if (cname == NULL) {
@@ -108,7 +108,7 @@ static bool dname_cname_cannot_synth(const knot_rrset_t *rrset, const knot_dname
 {
 	if (knot_dname_labels(qname, NULL)
 		- knot_dname_labels(rrset->owner, NULL)
-		+ knot_dname_labels(knot_rrs_dname_target(&rrset->rrs), NULL)
+		+ knot_dname_labels(knot_dname_target(&rrset->rrs), NULL)
 		> KNOT_DNAME_MAXLABELS) {
 		return true;
 	} else {
@@ -254,7 +254,7 @@ static int put_authority_soa(knot_pkt_t *pkt, struct query_data *qdata,
 	// MINIMUM as TTL
 	int ret = KNOT_EOK;
 	uint32_t flags = KNOT_PF_NOTRUNC;
-	uint32_t min = knot_rrs_soa_minimum(&soa_rrset.rrs);
+	uint32_t min = knot_soa_minimum(&soa_rrset.rrs);
 	if (min < knot_rrset_rr_ttl(&soa_rrset, 0)) {
 		knot_rrset_t copy;
 		knot_dname_t *dname_cpy = knot_dname_copy(soa_rrset.owner, &pkt->mm);
@@ -409,7 +409,7 @@ static int follow_cname(knot_pkt_t *pkt, uint16_t rrtype, struct query_data *qda
 	}
 
 	/* Now follow the next CNAME TARGET. */
-	qdata->name = knot_rrs_cname_name(&cname_rr.rrs);
+	qdata->name = knot_cname_name(&cname_rr.rrs);
 
 #ifdef KNOT_NS_DEBUG
 	char *cname_str = knot_dname_to_str(cname_node->owner);
diff --git a/src/knot/nameserver/ixfr.c b/src/knot/nameserver/ixfr.c
index 9f1c397fb78970d44ca0a1b453832c3bc251eb9b..57f18f5bd759b8f029630d27f89fe39050389c9b 100644
--- a/src/knot/nameserver/ixfr.c
+++ b/src/knot/nameserver/ixfr.c
@@ -130,7 +130,7 @@ static int ixfr_load_chsets(knot_changesets_t **chgsets, const zone_t *zone,
 
 	/* Compare serials. */
 	uint32_t serial_to = knot_zone_serial(zone->contents);
-	uint32_t serial_from = knot_rrs_soa_serial(&their_soa->rrs);
+	uint32_t serial_from = knot_soa_serial(&their_soa->rrs);
 	int ret = knot_serial_compare(serial_to, serial_from);
 	if (ret <= 0) { /* We have older/same age zone. */
 		return KNOT_EUPTODATE;
@@ -297,8 +297,8 @@ int ixfr_answer(knot_pkt_t *pkt, struct query_data *qdata)
 		case KNOT_EOK:      /* OK */
 			ixfr = (struct ixfr_proc*)qdata->ext;
 			IXFR_LOG(LOG_INFO, "Started (serial %u -> %u).",
-			         knot_rrs_soa_serial(&ixfr->soa_from->rrs),
-			         knot_rrs_soa_serial(&ixfr->soa_to->rrs));
+			         knot_soa_serial(&ixfr->soa_from->rrs),
+			         knot_soa_serial(&ixfr->soa_to->rrs));
 			break;
 		case KNOT_EUPTODATE: /* Our zone is same age/older, send SOA. */
 			IXFR_LOG(LOG_INFO, "Zone is up-to-date.");
@@ -387,7 +387,7 @@ int ixfr_process_answer(knot_pkt_t *pkt, knot_ns_xfr_t *xfr)
 			// serial
 			uint32_t zone_serial = knot_zone_serial(zone->contents);
 			if (knot_serial_compare(
-			      knot_rrs_soa_serial(&chgsets->first_soa->rrs),
+			      knot_soa_serial(&chgsets->first_soa->rrs),
 			      zone_serial)
 			    > 0) {
 				if ((xfr->flags & XFR_FLAG_UDP) != 0) {
diff --git a/src/knot/server/notify.c b/src/knot/server/notify.c
index 06a79fa0cda563618ebabcfb227c4f87dbd25f92..ef5e434cf3b52f6e8ba7cba62cb48c3c14ac6eb8 100644
--- a/src/knot/server/notify.c
+++ b/src/knot/server/notify.c
@@ -96,7 +96,7 @@ int internet_notify(knot_pkt_t *pkt, struct query_data *qdata)
 	if (answer->count > 0) {
 		const knot_rrset_t *soa = &answer->rr[0];
 		if (soa->type == KNOT_RRTYPE_SOA) {
-			serial = knot_rrs_soa_serial(&soa->rrs);
+			serial = knot_soa_serial(&soa->rrs);
 			dbg_ns("%s: received serial %u\n", __func__, serial);
 		} else { /* Ignore */
 			dbg_ns("%s: NOTIFY answer != SOA_RR\n", __func__);
diff --git a/src/knot/server/zone-load.c b/src/knot/server/zone-load.c
index ace12f315015a867658a874f5a4eacb2d7bc49fb..94dc73069f2fd496ad2824444828b6ddb81257f8 100644
--- a/src/knot/server/zone-load.c
+++ b/src/knot/server/zone-load.c
@@ -205,7 +205,7 @@ static void log_zone_load_info(const zone_t *zone, const char *zone_name,
 	if (zone->contents && zone->contents->apex) {
 		const knot_rrs_t *soa = knot_node_rrs(zone->contents->apex,
 		                                      KNOT_RRTYPE_SOA);
-		serial = knot_rrs_soa_serial(soa);
+		serial = knot_soa_serial(soa);
 	}
 
 	log_zone_info("Zone '%s' %s (serial %" PRId64 ")\n", zone_name, action, serial);
diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c
index 769097e99d1477c9d1b99c5acfa83f7a508b46ab..2901a0c55edeaf02879cd53f33da924f7be16bfe 100644
--- a/src/knot/server/zones.c
+++ b/src/knot/server/zones.c
@@ -104,7 +104,7 @@ static uint32_t zones_soa_timer(zone_t *zone, uint32_t (*rr_func)(const knot_rrs
  */
 static uint32_t zones_soa_refresh(zone_t *zone)
 {
-	return zones_soa_timer(zone, knot_rrs_soa_refresh);
+	return zones_soa_timer(zone, knot_soa_refresh);
 }
 
 /*!
@@ -115,7 +115,7 @@ static uint32_t zones_soa_refresh(zone_t *zone)
  */
 static uint32_t zones_soa_retry(zone_t *zone)
 {
-	return zones_soa_timer(zone, knot_rrs_soa_retry);
+	return zones_soa_timer(zone, knot_soa_retry);
 }
 
 /*!
@@ -126,7 +126,7 @@ static uint32_t zones_soa_retry(zone_t *zone)
  */
 static uint32_t zones_soa_expire(zone_t *zone)
 {
-	return zones_soa_timer(zone, knot_rrs_soa_expire);
+	return zones_soa_timer(zone, knot_soa_expire);
 }
 
 /*!
@@ -509,7 +509,7 @@ int zones_changesets_from_binary(knot_changesets_t *chgsets)
 		dbg_xfr_verb("xfr: reading RRSets to REMOVE, first RR is %hu\n",
 		             rrset->type);
 		assert(rrset->type == KNOT_RRTYPE_SOA);
-		assert(chs->serial_from == knot_rrs_soa_serial(&rrset->rrs));
+		assert(chs->serial_from == knot_soa_serial(&rrset->rrs));
 		knot_changeset_add_soa(chs, rrset, KNOT_CHANGESET_REMOVE);
 
 		/* Read remaining RRSets */
@@ -955,7 +955,7 @@ int zones_zonefile_sync(zone_t *zone, journal_t *journal)
 	                                          KNOT_RRTYPE_SOA);
 	assert(soa_rrs != NULL);
 
-	int64_t serial_ret = knot_rrs_soa_serial(soa_rrs);
+	int64_t serial_ret = knot_soa_serial(soa_rrs);
 	if (serial_ret < 0) {
 		rcu_read_unlock();
 		pthread_mutex_unlock(&zone->lock);
@@ -1839,7 +1839,7 @@ int zones_journal_apply(zone_t *zone)
 	const knot_rrs_t *soa_rrs = 0;
 	soa_rrs = knot_node_rrs(contents->apex, KNOT_RRTYPE_SOA);
 	assert(soa_rrs != NULL);
-	int64_t serial_ret = knot_rrs_soa_serial(soa_rrs);
+	int64_t serial_ret = knot_soa_serial(soa_rrs);
 	if (serial_ret < 0) {
 		rcu_read_unlock();
 		return KNOT_EINVAL;
diff --git a/src/knot/updates/changesets.c b/src/knot/updates/changesets.c
index 04bd110149e4d75cf133c2b5d7ca7777afb1708e..cf197a5dc9e526f97507c07072c7812d34ad8a9c 100644
--- a/src/knot/updates/changesets.c
+++ b/src/knot/updates/changesets.c
@@ -131,7 +131,7 @@ static void knot_changeset_store_soa(knot_rrset_t **chg_soa,
                                      uint32_t *chg_serial, knot_rrset_t *soa)
 {
 	*chg_soa = soa;
-	*chg_serial = knot_rrs_soa_serial(&soa->rrs);
+	*chg_serial = knot_soa_serial(&soa->rrs);
 }
 
 void knot_changeset_add_soa(knot_changeset_t *changeset, knot_rrset_t *soa,
diff --git a/src/knot/updates/ddns.c b/src/knot/updates/ddns.c
index e6bf7fb8e1c3efc3fe87aba07956635777be7180..c3d759f00592e56f27972a5b47c979d918b6604a 100644
--- a/src/knot/updates/ddns.c
+++ b/src/knot/updates/ddns.c
@@ -437,7 +437,7 @@ static bool skip_soa(const knot_rrset_t *rr, int64_t sn)
 	if (rr->type == KNOT_RRTYPE_SOA
 	    && (rr->rclass == KNOT_CLASS_NONE
 	        || rr->rclass == KNOT_CLASS_ANY
-	        || knot_serial_compare(knot_rrs_soa_serial(&rr->rrs),
+	        || knot_serial_compare(knot_soa_serial(&rr->rrs),
 	                               sn) <= 0)) {
 		return true;
 	}
@@ -1014,7 +1014,7 @@ int knot_ddns_process_update(const knot_zone_contents_t *zone,
 			*rcode = KNOT_RCODE_SERVFAIL;
 			return KNOT_ENOMEM;
 		}
-		knot_rrs_soa_serial_set(&soa_cpy->rrs, new_serial);
+		knot_soa_serial_set(&soa_cpy->rrs, new_serial);
 		knot_changeset_add_soa(changeset, soa_cpy, KNOT_CHANGESET_ADD);
 	}
 
diff --git a/src/knot/updates/xfr-in.c b/src/knot/updates/xfr-in.c
index f384b50e1826d795d44f49744c3be2564c7c3874..a54a3d3ea4b44ca460f2ba3233bab09b2cdd9d6a 100644
--- a/src/knot/updates/xfr-in.c
+++ b/src/knot/updates/xfr-in.c
@@ -90,7 +90,7 @@ int xfrin_transfer_needed(const knot_zone_contents_t *zone,
 		return KNOT_ERROR;
 	}
 
-	uint32_t local_serial = knot_rrs_soa_serial(soa_rrs);
+	uint32_t local_serial = knot_soa_serial(soa_rrs);
 	/*
 	 * Retrieve the remote Serial
 	 */
@@ -104,7 +104,7 @@ int xfrin_transfer_needed(const knot_zone_contents_t *zone,
 		return KNOT_EMALF;
 	}
 
-	uint32_t remote_serial = knot_rrs_soa_serial(&soa_rr.rrs);
+	uint32_t remote_serial = knot_soa_serial(&soa_rr.rrs);
 	return (knot_serial_compare(local_serial, remote_serial) < 0);
 }
 
@@ -457,8 +457,8 @@ int xfrin_process_ixfr_packet(knot_pkt_t *pkt, knot_ns_xfr_t *xfr)
 				goto cleanup;
 			}
 
-			if (knot_rrs_soa_serial(&rr->rrs)
-			    == knot_rrs_soa_serial(&(*chs)->first_soa->rrs)) {
+			if (knot_soa_serial(&rr->rrs)
+			    == knot_soa_serial(&(*chs)->first_soa->rrs)) {
 
 				/*! \note [TSIG] Check TSIG, we're at the end of
 				 *               transfer.
@@ -534,8 +534,8 @@ int xfrin_process_ixfr_packet(knot_pkt_t *pkt, knot_ns_xfr_t *xfr)
 			if (rr->type == KNOT_RRTYPE_SOA) {
 				log_zone_info("%s Serial %u -> %u.\n",
 					      xfr->msg,
-					      knot_rrs_soa_serial(&chset->soa_from->rrs),
-					      knot_rrs_soa_serial(&chset->soa_to->rrs));
+					      knot_soa_serial(&chset->soa_from->rrs),
+					      knot_soa_serial(&chset->soa_to->rrs));
 				state = -1;
 				continue;
 			} else {
@@ -617,7 +617,7 @@ static void xfrin_zone_contents_free(knot_zone_contents_t **contents)
 	dbg_zone("Destroying NSEC3 zone tree.\n");
 	knot_zone_tree_deep_free(&(*contents)->nsec3_nodes);
 
-	knot_nsec3_params_free(&(*contents)->nsec3_params);
+	knot_nsec3param_free(&(*contents)->nsec3_params);
 
 	free(*contents);
 	*contents = NULL;
@@ -930,7 +930,7 @@ static int xfrin_apply_changeset(list_t *old_rrs, list_t *new_rrs,
 
 	// check if serial matches
 	const knot_rrs_t *soa = knot_node_rrs(contents->apex, KNOT_RRTYPE_SOA);
-	if (soa == NULL || knot_rrs_soa_serial(soa)
+	if (soa == NULL || knot_soa_serial(soa)
 			   != chset->serial_from) {
 		dbg_xfrin("SOA serials do not match!!\n");
 		return KNOT_EINVAL;
diff --git a/src/knot/zone/node.c b/src/knot/zone/node.c
index c5b4415f0404f8218b64f5dc18bcbcada97d6cb2..b98d5a9e5b72274f98fafd9f81fdd7fc905a2981 100644
--- a/src/knot/zone/node.c
+++ b/src/knot/zone/node.c
@@ -628,7 +628,7 @@ bool knot_node_rrtype_is_signed(const knot_node_t *node, uint16_t type)
 	uint16_t rrsigs_rdata_count = rrsigs->rr_count;
 	for (uint16_t i = 0; i < rrsigs_rdata_count; ++i) {
 		const uint16_t type_covered =
-			knot_rrs_rrsig_type_covered(rrsigs, i);
+			knot_rrsig_type_covered(rrsigs, i);
 		if (type_covered == type) {
 			return true;
 		}
diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 09c471b7219c18b2dc52d2d03eaff6798dbf4676..3d392cb9194dad404a1ab83d2f57db761ac97599 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -303,7 +303,7 @@ static int check_rrsig_rdata(err_handler_t *handler,
 		return KNOT_ENOMEM;
 	}
 
-	if (knot_rrs_rrsig_type_covered(rrsig, 0) != rrset->type) {
+	if (knot_rrsig_type_covered(rrsig, 0) != rrset->type) {
 		/* zoneparser would not let this happen
 		 * but to be on the safe side
 		 */
@@ -313,7 +313,7 @@ static int check_rrsig_rdata(err_handler_t *handler,
 	}
 
 	/* label number at the 2nd index should be same as owner's */
-	uint8_t labels_rdata = knot_rrs_rrsig_labels(rrsig, rr_pos);
+	uint8_t labels_rdata = knot_rrsig_labels(rrsig, rr_pos);
 
 	int tmp = knot_dname_labels(rrset->owner, NULL) - labels_rdata;
 
@@ -333,7 +333,7 @@ static int check_rrsig_rdata(err_handler_t *handler,
 	}
 
 	/* check original TTL */
-	uint32_t original_ttl = knot_rrs_rrsig_original_ttl(rrsig, rr_pos);
+	uint32_t original_ttl = knot_rrsig_original_ttl(rrsig, rr_pos);
 
 	uint16_t rr_count = knot_rrset_rr_count(rrset);
 	for (uint16_t i = 0; i < rr_count; ++i) {
@@ -345,7 +345,7 @@ static int check_rrsig_rdata(err_handler_t *handler,
 	}
 
 	/* Check for expired signature. */
-	if (knot_rrs_rrsig_sig_expiration(rrsig, rr_pos) < time(NULL)) {
+	if (knot_rrsig_sig_expiration(rrsig, rr_pos) < time(NULL)) {
 		err_handler_handle_error(handler, node,
 		                         ZC_ERR_RRSIG_RDATA_EXPIRATION,
 		                         info_str);
@@ -359,7 +359,7 @@ static int check_rrsig_rdata(err_handler_t *handler,
 
 	/* signer's name is same as in the zone apex */
 	const knot_dname_t *signer_name =
-		knot_rrs_rrsig_signer_name(rrsig, rr_pos);
+		knot_rrsig_signer_name(rrsig, rr_pos);
 
 	/* dnskey is in the apex node */
 	if (!knot_rrset_empty(dnskey_rrset) &&
@@ -374,12 +374,12 @@ static int check_rrsig_rdata(err_handler_t *handler,
 	 * before */
 
 	int match = 0;
-	uint8_t rrsig_alg = knot_rrs_rrsig_algorithm(rrsig, rr_pos);
-	uint16_t key_tag_rrsig = knot_rrs_rrsig_key_tag(rrsig, rr_pos);
+	uint8_t rrsig_alg = knot_rrsig_algorithm(rrsig, rr_pos);
+	uint16_t key_tag_rrsig = knot_rrsig_key_tag(rrsig, rr_pos);
 	for (uint16_t i = 0; i < knot_rrset_rr_count(dnskey_rrset) &&
 	     !match; ++i) {
 		uint8_t dnskey_alg =
-			knot_rrs_dnskey_alg(&dnskey_rrset->rrs, i);
+			knot_dnskey_alg(&dnskey_rrset->rrs, i);
 		if (rrsig_alg != dnskey_alg) {
 			continue;
 		}
@@ -520,9 +520,9 @@ static int rdata_nsec_to_type_array(const knot_rrs_t *rrs, uint16_t type,
 	uint8_t *data = NULL;
 	uint16_t rr_bitmap_size = 0;
 	if (type == KNOT_RRTYPE_NSEC) {
-		knot_rrs_nsec_bitmap(rrs, &data, &rr_bitmap_size);
+		knot_nsec_bitmap(rrs, &data, &rr_bitmap_size);
 	} else {
-		knot_rrs_nsec3_bitmap(rrs, pos, &data, &rr_bitmap_size);
+		knot_nsec3_bitmap(rrs, pos, &data, &rr_bitmap_size);
 	}
 	if (data == NULL) {
 		return KNOT_EMALF;
@@ -627,7 +627,7 @@ static int check_nsec3_node_in_zone(knot_zone_contents_t *zone,
 
 			/* check for Opt-Out flag */
 			uint8_t flags =
-				knot_rrs_nsec3_flags(previous_rrs, 0);
+				knot_nsec3_flags(previous_rrs, 0);
 			uint8_t opt_out_mask = 1;
 
 			if (!(flags & opt_out_mask)) {
@@ -651,7 +651,7 @@ static int check_nsec3_node_in_zone(knot_zone_contents_t *zone,
 	const knot_rr_t *nsec3_rr = knot_rrs_rr(nsec3_rrs, 0);
 	const knot_rrs_t *soa_rrs = knot_node_rrs(zone->apex, KNOT_RRTYPE_SOA);
 	assert(soa_rrs);
-	uint32_t minimum_ttl = knot_rrs_soa_minimum(soa_rrs);
+	uint32_t minimum_ttl = knot_soa_minimum(soa_rrs);
 	if (knot_rr_ttl(nsec3_rr) != minimum_ttl) {
 		err_handler_handle_error(handler, node,
 		                         ZC_ERR_NSEC3_RDATA_TTL, NULL);
@@ -661,7 +661,7 @@ static int check_nsec3_node_in_zone(knot_zone_contents_t *zone,
 	const knot_node_t *apex = knot_zone_contents_apex(zone);
 	uint8_t *next_dname_str = NULL;
 	uint8_t next_dname_size = 0;
-	knot_rrs_nsec3_next_hashed(nsec3_rrs, 0, &next_dname_str,
+	knot_nsec3_next_hashed(nsec3_rrs, 0, &next_dname_str,
 	                           &next_dname_size);
 	knot_dname_t *next_dname = knot_nsec3_hash_to_dname(next_dname_str,
 	                                                    next_dname_size,
@@ -786,7 +786,7 @@ static int sem_check_node_optional(const knot_zone_contents_t *zone,
 
 	for (int i = 0; i < ns_rrs->rr_count; ++i) {
 		const knot_dname_t *ns_dname =
-			knot_rrs_ns_name(ns_rrs, i);
+			knot_ns_name(ns_rrs, i);
 		const knot_node_t *glue_node =
 			knot_zone_contents_find_node(zone, ns_dname);
 
@@ -946,7 +946,7 @@ static int semantic_checks_dnssec(knot_zone_contents_t *zone,
 			 * the next link in each node.
 			 */
 			const knot_dname_t *next_domain =
-				knot_rrs_nsec_next(nsec_rrs);
+				knot_nsec_next(nsec_rrs);
 			// Convert name to lowercase for trie lookup
 			knot_dname_t *lowercase = knot_dname_copy(next_domain, NULL);
 			if (lowercase == NULL) {
@@ -1080,7 +1080,7 @@ void log_cyclic_errors_in_zone(err_handler_t *handler,
 		const knot_node_t *apex = knot_zone_contents_apex(zone);
 		uint8_t *next_dname_str = NULL;
 		uint8_t next_dname_size = 0;
-		knot_rrs_nsec3_next_hashed(nsec3_rrs, 0, &next_dname_str,
+		knot_nsec3_next_hashed(nsec3_rrs, 0, &next_dname_str,
 		                           &next_dname_size);
 		knot_dname_t *next_dname = knot_nsec3_hash_to_dname(next_dname_str,
 		                                                    next_dname_size,
@@ -1123,7 +1123,7 @@ void log_cyclic_errors_in_zone(err_handler_t *handler,
 				return;
 			}
 
-			const knot_dname_t *next_dname = knot_rrs_nsec_next(nsec_rrs);
+			const knot_dname_t *next_dname = knot_nsec_next(nsec_rrs);
 			assert(next_dname);
 
 			const knot_dname_t *apex_dname =
diff --git a/src/knot/zone/zone-contents.c b/src/knot/zone/zone-contents.c
index 3b6a7e057c65f5ba3023cc89f372cf77cf057d0d..249203a757f7dc415fb419adcf8b905f2d9c227e 100644
--- a/src/knot/zone/zone-contents.c
+++ b/src/knot/zone/zone-contents.c
@@ -176,7 +176,7 @@ static int discover_additionals(struct rr_data *rr_data,
 	for (uint16_t i = 0; i < rdcount; i++) {
 
 		/* Try to find node for the dname in the RDATA. */
-		dname = knot_rrs_name(rrs, i, rr_data->type);
+		dname = knot_rdata_name(rrs, i, rr_data->type);
 		knot_zone_contents_find_dname(zone, dname, &node, &encloser, &prev);
 		if (node == NULL && encloser && encloser->wildcard_child) {
 			node = encloser->wildcard_child;
@@ -397,19 +397,19 @@ static int knot_zc_nsec3_parameters_match(const knot_rrs_t *rrs,
 
 	dbg_zone_detail("RDATA algo: %u, iterations: %u, salt length: %u, salt:"
 			" %.*s\n",
-			knot_rrs_nsec3_algorithm(rrs, rdata_pos),
-			knot_rrs_nsec3_iterations(rrs, rdata_pos),
-			knot_rrs_nsec3_salt_length(rrs, rdata_pos),
-			knot_rrs_nsec3_salt_length(rrs, rdata_pos),
-			knot_rrs_nsec3_salt(rrs, rdata_pos));
+			knot_nsec3_algorithm(rrs, rdata_pos),
+			knot_nsec3_iterations(rrs, rdata_pos),
+			knot_nsec3_salt_length(rrs, rdata_pos),
+			knot_nsec3_salt_length(rrs, rdata_pos),
+			knot_nsec3_salt(rrs, rdata_pos));
 	dbg_zone_detail("NSEC3PARAM algo: %u, iterations: %u, salt length: %u, "
 			"salt: %.*s\n",  params->algorithm, params->iterations,
 			params->salt_length, params->salt_length, params->salt);
 
-	return (knot_rrs_nsec3_algorithm(rrs, rdata_pos) == params->algorithm
-		&& knot_rrs_nsec3_iterations(rrs, rdata_pos) == params->iterations
-		&& knot_rrs_nsec3_salt_length(rrs, rdata_pos) == params->salt_length
-		&& strncmp((const char *)knot_rrs_nsec3_salt(rrs, rdata_pos),
+	return (knot_nsec3_algorithm(rrs, rdata_pos) == params->algorithm
+		&& knot_nsec3_iterations(rrs, rdata_pos) == params->iterations
+		&& knot_nsec3_salt_length(rrs, rdata_pos) == params->salt_length
+		&& strncmp((const char *)knot_nsec3_salt(rrs, rdata_pos),
 			   (const char *)params->salt, params->salt_length)
 		   == 0);
 }
@@ -793,7 +793,7 @@ static bool rrset_is_nsec3rel(const knot_rrset_t *rr)
 	/* Is NSEC3 or non-empty RRSIG covering NSEC3. */
 	return ((rr->type == KNOT_RRTYPE_NSEC3)
 	        || (rr->type == KNOT_RRTYPE_RRSIG
-	            && knot_rrs_rrsig_type_covered(&rr->rrs, 0)
+	            && knot_rrsig_type_covered(&rr->rrs, 0)
 	            == KNOT_RRTYPE_NSEC3));
 }
 
@@ -1273,7 +1273,7 @@ int knot_zone_contents_load_nsec3param(knot_zone_contents_t *zone)
 
 	const knot_rrs_t *rrs = knot_node_rrs(zone->apex, KNOT_RRTYPE_NSEC3PARAM);
 	if (rrs!= NULL) {
-		int r = knot_nsec3_params_from_wire(&zone->nsec3_params, rrs);
+		int r = knot_nsec3param_from_wire(&zone->nsec3_params, rrs);
 		if (r != KNOT_EOK) {
 			dbg_zone("Failed to load NSEC3PARAM (%s).\n",
 			         knot_strerror(r));
@@ -1397,7 +1397,7 @@ void knot_zone_contents_free(knot_zone_contents_t **contents)
 	dbg_zone("Destroying NSEC3 zone tree.\n");
 	knot_zone_tree_free(&(*contents)->nsec3_nodes);
 
-	knot_nsec3_params_free(&(*contents)->nsec3_params);
+	knot_nsec3param_free(&(*contents)->nsec3_params);
 
 	free(*contents);
 	*contents = NULL;
@@ -1435,7 +1435,7 @@ uint32_t knot_zone_serial(const knot_zone_contents_t *zone)
 	if (!zone) return 0;
 	const knot_rrs_t *soa = NULL;
 	soa = knot_node_rrs(knot_zone_contents_apex(zone), KNOT_RRTYPE_SOA);
-	uint32_t serial = knot_rrs_soa_serial(soa);
+	uint32_t serial = knot_soa_serial(soa);
 	return serial;
 }
 
diff --git a/src/knot/zone/zone-diff.c b/src/knot/zone/zone-diff.c
index 9d5dacca79b78880c264625c600809c20c3e7037..39f4fa6738be746acf60001038df0cfab2ce4dcf 100644
--- a/src/knot/zone/zone-diff.c
+++ b/src/knot/zone/zone-diff.c
@@ -60,8 +60,8 @@ static int knot_zone_diff_load_soas(const knot_zone_contents_t *zone1,
 		return KNOT_EINVAL;
 	}
 
-	int64_t soa_serial1 = knot_rrs_soa_serial(&soa_rrset1.rrs);
-	int64_t soa_serial2 = knot_rrs_soa_serial(&soa_rrset2.rrs);
+	int64_t soa_serial1 = knot_soa_serial(&soa_rrset1.rrs);
+	int64_t soa_serial2 = knot_soa_serial(&soa_rrset2.rrs);
 
 	if (knot_serial_compare(soa_serial1, soa_serial2) == 0) {
 		return KNOT_ENODIFF;
diff --git a/src/libknot/dnssec/rrset-sign.c b/src/libknot/dnssec/rrset-sign.c
index 7501ddeb2652731d5c02c28fa605d1e3fd82415a..6a2eb9a38d3a7cadb0f4ba891f78277a533e618b 100644
--- a/src/libknot/dnssec/rrset-sign.c
+++ b/src/libknot/dnssec/rrset-sign.c
@@ -280,7 +280,7 @@ int knot_synth_rrsig(uint16_t type, const knot_rrs_t *rrsig_rrs,
 	}
 
 	for (int i = 0; i < rrsig_rrs->rr_count; ++i) {
-		if (type == knot_rrs_rrsig_type_covered(rrsig_rrs, i)) {
+		if (type == knot_rrsig_type_covered(rrsig_rrs, i)) {
 			const knot_rr_t *rr_to_copy = knot_rrs_rr(rrsig_rrs, i);
 			int ret = knot_rrs_add_rr(out_sig, rr_to_copy, mm);
 			if (ret != KNOT_EOK) {
@@ -311,7 +311,7 @@ static bool is_expired_signature(const knot_rrset_t *rrsigs, size_t pos,
 	assert(rrsigs->type == KNOT_RRTYPE_RRSIG);
 	assert(policy);
 
-	uint32_t expiration = knot_rrs_rrsig_sig_expiration(&rrsigs->rrs, pos);
+	uint32_t expiration = knot_rrsig_sig_expiration(&rrsigs->rrs, pos);
 
 	return (expiration <= policy->refresh_before);
 }
@@ -343,7 +343,7 @@ int knot_is_valid_signature(const knot_rrset_t *covered,
 
 	uint8_t *signature = NULL;
 	size_t signature_size = 0;
-	knot_rrs_rrsig_signature(&rrsigs->rrs, pos, &signature, &signature_size);
+	knot_rrsig_signature(&rrsigs->rrs, pos, &signature, &signature_size);
 	if (!signature) {
 		return KNOT_EINVAL;
 	}
diff --git a/src/libknot/rdata/dname.h b/src/libknot/rdata/dname.h
index 32f77fbf6e9bae1aa3591cc560ec2aa4b758627f..9217563783771c9ab1abe747628ed8e00e090f93 100644
--- a/src/libknot/rdata/dname.h
+++ b/src/libknot/rdata/dname.h
@@ -21,53 +21,52 @@
 #include "libknot/dname.h"
 
 static inline
-const knot_dname_t *knot_rrs_cname_name(const knot_rrs_t *rrs)
+const knot_dname_t *knot_cname_name(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return NULL);
 	return data_offset(rrs, 0, 0);
 }
 
 static inline
-const knot_dname_t *knot_rrs_dname_target(const knot_rrs_t *rrs)
+const knot_dname_t *knot_dname_target(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return NULL);
 	return data_offset(rrs, 0, 0);
 }
 
 static inline
-const knot_dname_t *knot_rrs_ns_name(const knot_rrs_t *rrs, size_t pos)
+const knot_dname_t *knot_ns_name(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return data_offset(rrs, pos, 0);
 }
 
 static inline
-const knot_dname_t *knot_rrs_mx_name(const knot_rrs_t *rrs, size_t pos)
+const knot_dname_t *knot_mx_name(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return data_offset(rrs, pos, 2);
 }
 
 static inline
-const knot_dname_t *knot_rrs_srv_name(const knot_rrs_t *rrs, size_t pos)
+const knot_dname_t *knot_srv_name(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return data_offset(rrs, pos, 6);
 }
 
 static inline
-const knot_dname_t *knot_rrs_name(const knot_rrs_t *rrs, size_t pos,
-                                  uint16_t type)
+const knot_dname_t *knot_rdata_name(const knot_rrs_t *rrs, size_t pos, uint16_t type)
 {
 	switch (type) {
 		case KNOT_RRTYPE_NS:
-			return knot_rrs_ns_name(rrs, pos);
+			return knot_ns_name(rrs, pos);
 		case KNOT_RRTYPE_MX:
-			return knot_rrs_mx_name(rrs, pos);
+			return knot_mx_name(rrs, pos);
 		case KNOT_RRTYPE_SRV:
-			return knot_rrs_srv_name(rrs, pos);
+			return knot_srv_name(rrs, pos);
 		case KNOT_RRTYPE_CNAME:
-			return knot_rrs_cname_name(rrs);
+			return knot_cname_name(rrs);
 	}
 
 	return NULL;
diff --git a/src/libknot/rdata/dnskey.h b/src/libknot/rdata/dnskey.h
index 3e95317d622f9d1d0ab50aa5eb1e7346626287f6..52aaa8a687001d89d11cf95dd7d59beb4081d5df 100644
--- a/src/libknot/rdata/dnskey.h
+++ b/src/libknot/rdata/dnskey.h
@@ -21,14 +21,14 @@
 #define KNOT_RDATA_DNSKEY_FLAG_KSK 1
 
 static inline
-uint16_t knot_rrs_dnskey_flags(const knot_rrs_t *rrs, size_t pos)
+uint16_t knot_dnskey_flags(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u16(data_offset(rrs, pos, 0));
 }
 
 static inline
-uint8_t knot_rrs_dnskey_proto(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_dnskey_proto(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 
@@ -36,14 +36,14 @@ uint8_t knot_rrs_dnskey_proto(const knot_rrs_t *rrs, size_t pos)
 }
 
 static inline
-uint8_t knot_rrs_dnskey_alg(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_dnskey_alg(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 3);
 }
 
 static inline
-void knot_rrs_dnskey_key(const knot_rrs_t *rrs, size_t pos, uint8_t **key,
+void knot_dnskey_key(const knot_rrs_t *rrs, size_t pos, uint8_t **key,
                            uint16_t *key_size)
 {
 	RRS_CHECK(rrs, pos, return);
diff --git a/src/libknot/rdata/nsec.h b/src/libknot/rdata/nsec.h
index 935adc80d6941896ba4e57ab2e77a8bd3dbd09ac..66b00a070fef48494f4a7a68c321783a574dec73 100644
--- a/src/libknot/rdata/nsec.h
+++ b/src/libknot/rdata/nsec.h
@@ -19,19 +19,19 @@
 #include "libknot/rr.h"
 
 static inline
-const knot_dname_t *knot_rrs_nsec_next(const knot_rrs_t *rrs)
+const knot_dname_t *knot_nsec_next(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return NULL);
 	return data_offset(rrs, 0, 0);
 }
 
 static inline
-void knot_rrs_nsec_bitmap(const knot_rrs_t *rrs,
+void knot_nsec_bitmap(const knot_rrs_t *rrs,
                             uint8_t **bitmap, uint16_t *size)
 {
 	RRS_CHECK(rrs, 0, return);
 	knot_rr_t *rr = knot_rrs_rr(rrs, 0);
-	int next_size = knot_dname_size(knot_rrs_nsec_next(rrs));
+	int next_size = knot_dname_size(knot_nsec_next(rrs));
 
 	*bitmap = knot_rr_rdata(rr) + next_size;
 	*size = knot_rr_rdata_size(rr) - next_size;
diff --git a/src/libknot/rdata/nsec3.h b/src/libknot/rdata/nsec3.h
index b066f037daf5089f6c2ed1aca4f022994ab0dde3..ef278d7c6ee19f247d1fba78e598db2b9c5e126e 100644
--- a/src/libknot/rdata/nsec3.h
+++ b/src/libknot/rdata/nsec3.h
@@ -36,63 +36,63 @@
 #include "libknot/rdata/nsec3param.h"
 
 static inline
-uint8_t knot_rrs_nsec3_algorithm(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3_algorithm(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 0);
 }
 
 static inline
-uint8_t knot_rrs_nsec3_flags(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3_flags(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 1);
 }
 
 static inline
-uint16_t knot_rrs_nsec3_iterations(const knot_rrs_t *rrs, size_t pos)
+uint16_t knot_nsec3_iterations(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u16(data_offset(rrs, pos, 2));
 }
 
 static inline
-uint8_t knot_rrs_nsec3_salt_length(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3_salt_length(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *(data_offset(rrs, pos, 0) + 4);
 }
 
 static inline
-const uint8_t *knot_rrs_nsec3_salt(const knot_rrs_t *rrs, size_t pos)
+const uint8_t *knot_nsec3_salt(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return NULL);
 	return data_offset(rrs, pos, 5);
 }
 
 static inline
-void knot_rrs_nsec3_next_hashed(const knot_rrs_t *rrs, size_t pos,
+void knot_nsec3_next_hashed(const knot_rrs_t *rrs, size_t pos,
                                   uint8_t **name, uint8_t *name_size)
 {
 	RRS_CHECK(rrs, pos, return);
-	uint8_t salt_size = knot_rrs_nsec3_salt_length(rrs, pos);
+	uint8_t salt_size = knot_nsec3_salt_length(rrs, pos);
 	*name_size = *data_offset(rrs, pos, 4 + salt_size + 1);
 	*name = data_offset(rrs, pos, 4 + salt_size + 2);
 }
 
 static inline
-void knot_rrs_nsec3_bitmap(const knot_rrs_t *rrs, size_t pos,
+void knot_nsec3_bitmap(const knot_rrs_t *rrs, size_t pos,
                              uint8_t **bitmap, uint16_t *size)
 {
 	RRS_CHECK(rrs, pos, return);
 
 	/* Bitmap is last, skip all the items. */
 	size_t offset = 6; //hash alg., flags, iterations, salt len., hash len.
-	offset += knot_rrs_nsec3_salt_length(rrs, pos); //salt
+	offset += knot_nsec3_salt_length(rrs, pos); //salt
 
 	uint8_t *next_hashed = NULL;
 	uint8_t next_hashed_size = 0;
-	knot_rrs_nsec3_next_hashed(rrs, pos, &next_hashed, &next_hashed_size);
+	knot_nsec3_next_hashed(rrs, pos, &next_hashed, &next_hashed_size);
 	offset += next_hashed_size; //hash
 
 	*bitmap = data_offset(rrs, pos, offset);
diff --git a/src/libknot/rdata/nsec3param.c b/src/libknot/rdata/nsec3param.c
index 020cfe0dae1238edbe6373c19a9e156f376527ae..49b9e9ac3fc9613ce4a3753cded69568885e8402 100644
--- a/src/libknot/rdata/nsec3param.c
+++ b/src/libknot/rdata/nsec3param.c
@@ -21,7 +21,7 @@
 /*!
  * \brief Initialize the structure with NSEC3 params from NSEC3PARAM RR set.
  */
-int knot_nsec3_params_from_wire(knot_nsec3_params_t *params,
+int knot_nsec3param_from_wire(knot_nsec3_params_t *params,
                                 const knot_rrs_t *rrs)
 {
 	if (params == NULL || rrs == NULL || rrs->rr_count == 0) {
@@ -30,13 +30,13 @@ int knot_nsec3_params_from_wire(knot_nsec3_params_t *params,
 
 	knot_nsec3_params_t result = { 0 };
 
-	result.algorithm   = knot_rrs_nsec3param_algorithm(rrs, 0);
-	result.iterations  = knot_rrs_nsec3param_iterations(rrs, 0);
-	result.flags       = knot_rrs_nsec3param_flags(rrs, 0);
-	result.salt_length = knot_rrs_nsec3param_salt_length(rrs, 0);
+	result.algorithm   = knot_nsec3param_algorithm(rrs, 0);
+	result.iterations  = knot_nsec3param_iterations(rrs, 0);
+	result.flags       = knot_nsec3param_flags(rrs, 0);
+	result.salt_length = knot_nsec3param_salt_length(rrs, 0);
 
 	if (result.salt_length > 0) {
-		result.salt = knot_memdup(knot_rrs_nsec3param_salt(rrs, 0),
+		result.salt = knot_memdup(knot_nsec3param_salt(rrs, 0),
 		                          result.salt_length);
 		if (!result.salt) {
 			return KNOT_ENOMEM;
@@ -45,7 +45,7 @@ int knot_nsec3_params_from_wire(knot_nsec3_params_t *params,
 		result.salt = NULL;
 	}
 
-	knot_nsec3_params_free(params);
+	knot_nsec3param_free(params);
 	*params = result;
 
 	return KNOT_EOK;
@@ -54,7 +54,7 @@ int knot_nsec3_params_from_wire(knot_nsec3_params_t *params,
 /*!
  * \brief Clean up structure with NSEC3 params (do not deallocate).
  */
-void knot_nsec3_params_free(knot_nsec3_params_t *params)
+void knot_nsec3param_free(knot_nsec3_params_t *params)
 {
 	free(params->salt);
 }
diff --git a/src/libknot/rdata/nsec3param.h b/src/libknot/rdata/nsec3param.h
index 823b9594fc14eb35e8c5e3d3f73b6021ac2d43cd..8417e57cb3c564aedbd02d2d5a1854ecf0715d29 100644
--- a/src/libknot/rdata/nsec3param.h
+++ b/src/libknot/rdata/nsec3param.h
@@ -37,35 +37,35 @@ typedef struct {
 /*---------------------------------------------------------------------------*/
 
 static inline
-uint8_t knot_rrs_nsec3param_algorithm(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3param_algorithm(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 0);
 }
 
 static inline
-uint8_t knot_rrs_nsec3param_flags(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3param_flags(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 1);
 }
 
 static inline
-uint16_t knot_rrs_nsec3param_iterations(const knot_rrs_t *rrs, size_t pos)
+uint16_t knot_nsec3param_iterations(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u16(data_offset(rrs, pos, 2));
 }
 
 static inline
-uint8_t knot_rrs_nsec3param_salt_length(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_nsec3param_salt_length(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 4);
 }
 
 static inline
-const uint8_t *knot_rrs_nsec3param_salt(const knot_rrs_t *rrs, size_t pos)
+const uint8_t *knot_nsec3param_salt(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return data_offset(rrs, pos, 5);
@@ -79,11 +79,11 @@ const uint8_t *knot_rrs_nsec3param_salt(const knot_rrs_t *rrs, size_t pos)
  *
  * \return Error code, KNOT_EOK on success.
  */
-int knot_nsec3_params_from_wire(knot_nsec3_params_t *params,
+int knot_nsec3param_from_wire(knot_nsec3_params_t *params,
                                 const knot_rrs_t *rrs);
 /*!
  * \brief Clean up structure with NSEC3 params (do not deallocate).
  *
  * \param params Structure with NSEC3 params.
  */
-void knot_nsec3_params_free(knot_nsec3_params_t *params);
+void knot_nsec3param_free(knot_nsec3_params_t *params);
diff --git a/src/libknot/rdata/rrsig.h b/src/libknot/rdata/rrsig.h
index 3446c44a6c73f1954c79ad52e4b90378f9251784..2ece67de89d3c6e3f5c03ad140f4952a9ac1aa19 100644
--- a/src/libknot/rdata/rrsig.h
+++ b/src/libknot/rdata/rrsig.h
@@ -19,56 +19,56 @@
 #include "libknot/rr.h"
 
 static inline
-uint16_t knot_rrs_rrsig_type_covered(const knot_rrs_t *rrs, size_t pos)
+uint16_t knot_rrsig_type_covered(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u16(data_offset(rrs, pos, 0));
 }
 
 static inline
-uint8_t knot_rrs_rrsig_algorithm(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_rrsig_algorithm(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 2);
 }
 
 static inline
-uint8_t knot_rrs_rrsig_labels(const knot_rrs_t *rrs, size_t pos)
+uint8_t knot_rrsig_labels(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return *data_offset(rrs, pos, 3);
 }
 
 static inline
-uint32_t knot_rrs_rrsig_original_ttl(const knot_rrs_t *rrs, size_t pos)
+uint32_t knot_rrsig_original_ttl(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u32(data_offset(rrs, pos, 4));
 }
 
 static inline
-uint32_t knot_rrs_rrsig_sig_expiration(const knot_rrs_t *rrs, size_t pos)
+uint32_t knot_rrsig_sig_expiration(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u32(data_offset(rrs, pos, 8));
 }
 
 static inline
-uint32_t knot_rrs_rrsig_sig_inception(const knot_rrs_t *rrs, size_t pos)
+uint32_t knot_rrsig_sig_inception(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u32(data_offset(rrs, pos, 12));
 }
 
 static inline
-uint16_t knot_rrs_rrsig_key_tag(const knot_rrs_t *rrs, size_t pos)
+uint16_t knot_rrsig_key_tag(const knot_rrs_t *rrs, size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
 	return knot_wire_read_u16(data_offset(rrs, pos, 16));
 }
 
 static inline
-const knot_dname_t *knot_rrs_rrsig_signer_name(const knot_rrs_t *rrs,
+const knot_dname_t *knot_rrsig_signer_name(const knot_rrs_t *rrs,
                                                  size_t pos)
 {
 	RRS_CHECK(rrs, pos, return 0);
@@ -76,7 +76,7 @@ const knot_dname_t *knot_rrs_rrsig_signer_name(const knot_rrs_t *rrs,
 }
 
 static inline
-void knot_rrs_rrsig_signature(const knot_rrs_t *rrs, size_t pos,
+void knot_rrsig_signature(const knot_rrs_t *rrs, size_t pos,
                                 uint8_t **signature, size_t *signature_size)
 {
 	if (!signature || !signature_size) {
diff --git a/src/libknot/rdata/soa.h b/src/libknot/rdata/soa.h
index 83ca99d05ac26caa3bc14acc88d8a933216fca94..df34b3c11ab80d3635383afcf770874618d7b1dd 100644
--- a/src/libknot/rdata/soa.h
+++ b/src/libknot/rdata/soa.h
@@ -20,72 +20,72 @@
 #include "libknot/dname.h"
 
 static inline
-const knot_dname_t *knot_rrs_soa_primary_ns(const knot_rrs_t *rrs)
+const knot_dname_t *knot_soa_primary_ns(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return NULL);
 	return data_offset(rrs, 0, 0);
 }
 
 static inline
-const knot_dname_t *knot_rrs_soa_mailbox(const knot_rrs_t *rrs)
+const knot_dname_t *knot_soa_mailbox(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return NULL);
-	return data_offset(rrs, 0, knot_dname_size(knot_rrs_soa_primary_ns(rrs)));
+	return data_offset(rrs, 0, knot_dname_size(knot_soa_primary_ns(rrs)));
 }
 
 static inline
-size_t knot_rrs_soa_names_len(const knot_rrs_t *rrs)
+size_t knot_soa_names_len(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
-	return knot_dname_size(knot_rrs_soa_primary_ns(rrs))
-	       + knot_dname_size(knot_rrs_soa_mailbox(rrs));
+	return knot_dname_size(knot_soa_primary_ns(rrs))
+	       + knot_dname_size(knot_soa_mailbox(rrs));
 }
 
 static inline
-uint32_t knot_rrs_soa_serial(const knot_rrs_t *rrs)
+uint32_t knot_soa_serial(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
 	return knot_wire_read_u32(data_offset(rrs, 0,
-	                                      knot_rrs_soa_names_len(rrs)));
+	                                      knot_soa_names_len(rrs)));
 }
 
 static inline
-void knot_rrs_soa_serial_set(knot_rrs_t *rrs, uint32_t serial)
+void knot_soa_serial_set(knot_rrs_t *rrs, uint32_t serial)
 {
 	RRS_CHECK(rrs, 0, return);
 	// the number is in network byte order, transform it
-	knot_wire_write_u32(data_offset(rrs, 0, knot_rrs_soa_names_len(rrs)),
+	knot_wire_write_u32(data_offset(rrs, 0, knot_soa_names_len(rrs)),
 	                    serial);
 }
 
 static inline
-uint32_t knot_rrs_soa_refresh(const knot_rrs_t *rrs)
+uint32_t knot_soa_refresh(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
 	return knot_wire_read_u32(data_offset(rrs, 0,
-	                                      knot_rrs_soa_names_len(rrs) + 4));
+	                                      knot_soa_names_len(rrs) + 4));
 }
 
 static inline
-uint32_t knot_rrs_soa_retry(const knot_rrs_t *rrs)
+uint32_t knot_soa_retry(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
 	return knot_wire_read_u32(data_offset(rrs, 0,
-	                                      knot_rrs_soa_names_len(rrs) + 8));
+	                                      knot_soa_names_len(rrs) + 8));
 }
 
 static inline
-uint32_t knot_rrs_soa_expire(const knot_rrs_t *rrs)
+uint32_t knot_soa_expire(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
 	return knot_wire_read_u32(data_offset(rrs, 0,
-	                                      knot_rrs_soa_names_len(rrs) + 12));
+	                                      knot_soa_names_len(rrs) + 12));
 }
 
 static inline
-uint32_t knot_rrs_soa_minimum(const knot_rrs_t *rrs)
+uint32_t knot_soa_minimum(const knot_rrs_t *rrs)
 {
 	RRS_CHECK(rrs, 0, return 0);
 	return knot_wire_read_u32(data_offset(rrs, 0,
-	                                      knot_rrs_soa_names_len(rrs) + 16));
+	                                      knot_soa_names_len(rrs) + 16));
 }
\ No newline at end of file
diff --git a/src/utils/dig/dig_exec.c b/src/utils/dig/dig_exec.c
index 4244c80b11c147c85d934a18ebb68e68ba1b05b3..e634cfbf3de17f411e88123879c5a71891364fd4 100644
--- a/src/utils/dig/dig_exec.c
+++ b/src/utils/dig/dig_exec.c
@@ -125,7 +125,7 @@ static knot_pkt_t* create_query_packet(const query_t *query)
 		}
 
 		// Set SOA serial.
-		knot_rrs_soa_serial_set(&soa->rrs, query->xfr_serial);
+		knot_soa_serial_set(&soa->rrs, query->xfr_serial);
 
 		// Add authority section.
 		knot_pkt_begin(packet, KNOT_AUTHORITY);
@@ -232,7 +232,7 @@ static int64_t first_serial_check(const knot_pkt_t *reply)
 	if (first->type != KNOT_RRTYPE_SOA) {
 		return -1;
 	} else {
-		return knot_rrs_soa_serial(&first->rrs);
+		return knot_soa_serial(&first->rrs);
 	}
 }
 
@@ -248,7 +248,7 @@ static bool last_serial_check(const uint32_t serial, const knot_pkt_t *reply)
 	if (last->type != KNOT_RRTYPE_SOA) {
 		return false;
 	} else {
-		int64_t last_serial = knot_rrs_soa_serial(&last->rrs);
+		int64_t last_serial = knot_soa_serial(&last->rrs);
 		if (last_serial == serial) {
 			return true;
 		} else {
diff --git a/src/utils/nsec3hash/nsec3hash_main.c b/src/utils/nsec3hash/nsec3hash_main.c
index bbd7b793804de2d0917199173f4192c7c2db10dc..eaff2315b0bf75fc136e0f8b77618df9344ef7b6 100644
--- a/src/utils/nsec3hash/nsec3hash_main.c
+++ b/src/utils/nsec3hash/nsec3hash_main.c
@@ -182,7 +182,7 @@ int main(int argc, char *argv[])
 	       nsec3_params.iterations);
 
 fail:
-	knot_nsec3_params_free(&nsec3_params);
+	knot_nsec3param_free(&nsec3_params);
 	knot_dname_free(&dname, NULL);
 	free(digest);
 	free(b32_digest);
diff --git a/tests/dnssec_nsec3.c b/tests/dnssec_nsec3.c
index ed20bdb9d5eb049dff24e570e8b94d3ae7357c7d..3c4e84385c59d58c98339bb2e787898276d1f8b0 100644
--- a/tests/dnssec_nsec3.c
+++ b/tests/dnssec_nsec3.c
@@ -61,7 +61,7 @@ int main(int argc, char *argv[])
 
 	result = knot_rrset_add_rr(rrset, rdata, sizeof(rdata), 0, NULL);
 	if (result == KNOT_EOK) {
-		result = knot_nsec3_params_from_wire(&params, &rrset->rrs);
+		result = knot_nsec3param_from_wire(&params, &rrset->rrs);
 	}
 
 	is_int(1, params.algorithm, "parse algorithm from wire");
@@ -71,7 +71,7 @@ int main(int argc, char *argv[])
 	is_int(0, memcmp(params.salt, "abcd", 4), "parse salt from wire");
 
 	knot_rrset_free(&rrset, NULL);
-	knot_nsec3_params_free(&params);
+	knot_nsec3param_free(&params);
 
 	// hash computation