X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/acf4a36f2d32f1dfffc171826f2cfaea3bf5a461..4e6c13dfc90a09f8e4ff176df2db6c66a4a37567:/src/internal.h diff --git a/src/internal.h b/src/internal.h index 18aabf4..3a6f063 100644 --- a/src/internal.h +++ b/src/internal.h @@ -199,7 +199,8 @@ typedef struct typeinfo { adns_status (*checklabel)(adns_state ads, adns_queryflags flags, union checklabel_state *cls, qcontext *ctx, - int labnum, const char *label, int lablen); + int labnum, const char *dgram, + int labstart, int lablen); /* Check a label from the query domain string. The label is not * necessarily null-terminated. The hook can refuse the query's submission * by returning a nonzero status. State can be stored in *cls between @@ -231,7 +232,7 @@ typedef struct typeinfo { adns_status adns__ckl_hostname(adns_state ads, adns_queryflags flags, union checklabel_state *cls, qcontext *ctx, int labnum, - const char *label, int lablen); + const char *dgram, int labstart, int lablen); /* implemented in query.c, used by types.c as default * and as part of implementation for some fancier types * doesn't require any state */ @@ -471,24 +472,26 @@ extern int adns__make_reverse_domain(const struct sockaddr *sa, * allocate an output buffer failed. */ -extern int adns__revparse_label(struct revparse_state *rps, int labnum, - const char *label, int lablen); +extern bool adns__revparse_label(struct revparse_state *rps, int labnum, + const char *dgram, + int labstart, int lablen); /* Parse a label in a reverse-domain name, given its index labnum (starting * from zero), a pointer to its contents (which need not be null-terminated), * and its length. The state in *rps is initialized implicitly when labnum * is zero. * - * Returns zero if the parse was successful, nonzero if the domain name is - * definitely invalid and the parse must be abandoned. + * Returns 1 if the parse is proceeding successfully, 0 if the domain + * name is definitely invalid and the parse must be abandoned. */ -extern int adns__revparse_done(struct revparse_state *rps, int nlabels, - adns_rrtype *rrtype_r, adns_sockaddr *addr_r); +extern bool adns__revparse_done(struct revparse_state *rps, + const char *dgram, int nlabels, + adns_rrtype *rrtype_r, adns_sockaddr *addr_r); /* Finishes parsing a reverse-domain name, given the total number of * labels in the name. On success, fills in the af and protocol * address in *addr_r, and the forward query type in *rrtype_r - * (because that turns out to be useful). Returns nonzero if the - * parse must be abandoned. + * (because that turns out to be useful). Returns 1 if the parse + * was successful. */ /* From setup.c: */