typedef union {
void *ext;
- int dmaddr_index;
+ adns_rr_hostaddr *hostaddr;
} qcontext;
typedef struct {
+ adns_state ads;
adns_query qu;
+ int serv;
const byte *dgram;
- int serv, dglen, max, nsstart;
+ int dglen, nsstart, nscount, arcount;
+ struct timeval now;
} parseinfo;
typedef struct {
* and will not be null-terminated by convstring.
*/
- adns_status (*parse)(const struct parseinfo *pai, int cbyte, void *store_r);
+ adns_status (*parse)(const parseinfo *pai, int cbyte, int max, void *store_r);
/* Parse one RR, in dgram of length dglen, starting at cbyte and
* extending until at most max.
*
* If failstat is nonzero then if we are successful in creating the query
* it is immediately failed with code failstat (but _submit still succeds).
*
- * ctx is copied byte-for-byte into the query.
+ * *ctx is copied byte-for-byte into the query.
*/
void *adns__alloc_interim(adns_query qu, size_t sz);
* If an error is returned then *type_r will be undefined too.
*/
-static adns_status findrr_anychk(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);
+adns_status adns__findrr_anychk(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);
/* Like adns__findrr_checked, except that the datagram and
* owner to compare with can be specified explicitly.
*
do { \
(node)->part next= 0; \
(node)->part back= (list).tail; \
- if ((list).tail) (list).tail->part next= (node); else (list).part head= (node); \
+ if ((list).tail) (list).tail->part next= (node); else (list).head= (node); \
(list).tail= (node); \
} while(0)