SYNOPSIS |
#include <dkim.h>
void dkim_dns_set_query_waitreply(
DKIM_LIB *libopendkim,
int (*func)(void *, void *, struct timeval *,
size_t *, int *, int *)
);
Declares the function to be used by a libopendkim instance when it needs to
wait on a DNS query already in progress. By default, a stub function that
merely extracts the reply length nothing is set, since the standard
UNIX resolver library is not asynchronous so the answer is already
available.
The function will be passed the following arguments:
- An opaque DNS service handle as previously specified by a call to
dkim_dns_set_query_service()
- A handle for a previously initiated DNS query as returned by the
function provided by
dkim_dns_set_query_start()
- A pointer to a structure stipulating a timeout, whose semantics are the
same as those for select(2)
- A pointer to a size_t that will receive the length of the reply
- A pointer to an int that will receive an error code, if any
- A pointer to an int that will receive a
DKIM_DNSSEC constant describing
the security of the reply
The function is expected to return one of the following:
- DKIM_DNS_SUCCESS -- a reply is available
- DKIM_DNS_EXPIRED -- the query expired (artifact of libar)
- DKIM_DNS_ERROR -- an I/O error occurred
- DKIM_DNS_NOREPLY -- the specified timeout expired before a reply
was received
|