- adns_status (*get_fn)(adns_state ads, adns_query qu, int serv,
- const byte *dgram, int dglen,
- int *cbyte_io, int max,
- int nsstart, int arcount, int *arstart_io,
- int roff, int *rcount_io);
+ adns_status (*parse)(adns_state ads, adns_query qu, int serv, vbuf *vb,
+ const byte *dgram, int dglen, int cbyte, int max,
+ void *store_r);
+ /* Parse one RR, in dgram of length dglen, starting at cbyte and
+ * extending until at most max.
+ *
+ * The RR should be stored at *store_r, of length qu->typei->rrsz.
+ *
+ * If there is an overrun which might indicate truncation, it should set
+ * *rdstart to -1; otherwise it may set it to anything else positive.
+ *
+ * This function may use vb (which has been initialised) however it likes.
+ */