Skip to main content

Name

pre_dns_handle_a

Synopsis

#include "hooks/core/pre_dns_handle_a.h"

| int **pre_dns_handle_a** ( | closure, |   | |   | mxinfo, |   | |   | status, |   | |   | abuf, |   | |   | alen, |   | |   | qdomain); |   |

void * <var class="pdparam">closure</var>; mx_info_closure * <var class="pdparam">mxinfo</var>; int <var class="pdparam">status</var>; unsigned char * <var class="pdparam">abuf</var>; int <var class="pdparam">alen</var>; const char * <var class="pdparam">qdomain</var>;

| int **has_core_pre_dns_handle_a_hook** ( | ); |   |

| void **register_core_pre_dns_handle_a_hook_first** ( | hook, |   | |   | closure); |   |

ec_hook_core_pre_dns_handle_a_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| void **register_core_pre_dns_handle_a_hook_last** ( | hook, |   | |   | closure); |   |

ec_hook_core_pre_dns_handle_a_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| int **call_core_pre_dns_handle_a_hook** ( | mxinfo, |   | |   | status, |   | |   | abuf, |   | |   | alen, |   | |   | qdomain); |   |

mx_info_closure * <var class="pdparam">mxinfo</var>; int <var class="pdparam">status</var>; unsigned char * <var class="pdparam">abuf</var>; int <var class="pdparam">alen</var>; const char * <var class="pdparam">qdomain</var>;

Description

The dns_handle_a is called when DNS query for A record is returned. The pre_dns_handle_a hook is called before the query result is handled. If a hook function returns 0, the remaining hook functions will be called. If all hook functions return 0, the processing of query result will continue. If 1 or 2 is returned from a hook function, the remaining hook functions and the processing of query result within dns_handle_a will be skipped. If 2 is returned by a hook function, that hook function should free mx_info_closure structure. A hook function should not return any value other than 0, 1 and 2.

Was this page helpful?