-
-adns_status adns__get_rr_temp(adns_state ads, adns_query qu, int serv,
- const byte *dgram, int dglen, int *cbyte_io,
- int *type_r, int *class_r, int *rdlen_r, int *rdstart_r,
- const byte *eo_dgram, int eo_dglen, int eo_cbyte,
- int *eo_matched_r) {
- /* _s_ok can have *type_r == -1 and other output invalid, for truncation
- * type_r and class_r must be !0, other _r may be 0.
- * eo_dgram==0 for no comparison, otherwise all eo_ must be valid.
+
+adns_status adns__findrr(adns_state ads, int serv,
+ const byte *dgram, int dglen, int *cbyte_io,
+ int *type_r, int *class_r, int *rdlen_r, int *rdstart_r,
+ const byte *eo_dgram, int eo_dglen, int eo_cbyte,
+ int *eo_matched_r) {
+ /* Finds the extent and some of the contents of an RR in a datagram
+ * and does some checks. The datagram is *dgram, length dglen, and
+ * the RR starts at *cbyte_io (which is updated afterwards to point
+ * to the end of the RR).
+ *
+ * The type, class and RRdata length and start are returned iff
+ * the corresponding pointer variables are not null. type_r and
+ * class_r may not be null.
+ *
+ * If the caller thinks they know what the owner of the RR ought to
+ * be they can pass in details in eo_*: this is another (or perhaps
+ * the same datagram), and a pointer to where the putative owner
+ * starts in that datagram. In this case *eo_matched_r will be set
+ * to 1 if the datagram matched or 0 if it did not. Either
+ * both eo_dgram and eo_matched_r must both be non-null, or they
+ * must both be null (in which case eo_dglen and eo_cbyte will be ignored).
+ * The eo datagram and contained owner domain MUST be valid and
+ * untruncated.
+ *
+ * If there is truncation then *type_r will be set to -1 and
+ * *cbyte_io, *class_r, *rdlen_r, *rdstart_r and *eo_matched_r will be
+ * undefined.
+ *
+ * If an error is returned then *type_r will be undefined too.