} parseinfo;
typedef struct typeinfo {
- adns_rrtype type;
+ adns_rrtype typekey;
const char *rrtname;
const char *fmtname;
int rrsz;
* string. On successful return, label_r[] and *ll_io are filled in
* and *p_io points to *pe or just after the label-ending `.'. */
+ void (*postsort)(adns_state ads, void *array, int nrrs,
+ const struct typeinfo *typei);
+ /* Called immediately after the RRs have been sorted, and may rearrange
+ * them. (This is really for the benefit of SRV's bizarre weighting
+ * stuff.) May be 0 to mean nothing needs to be done.
+ */
} typeinfo;
adns_status adns__qdpl_normal(adns_state ads,
struct in_addr base, mask;
} sortlist[MAXSORTLIST];
char **searchlist;
+ unsigned short rand48xsubi[3];
};
/* From setup.c: */
adns_status adns__mkquery(adns_state ads, vbuf *vb, int *id_r,
const char *owner, int ol,
- const typeinfo *typei, adns_queryflags flags);
+ const typeinfo *typei, adns_rrtype type,
+ adns_queryflags flags);
/* Assembles a query packet in vb. A new id is allocated and returned.
*/