Skip to main content

post_validate_data_spool_each_rcpt_v1

Last updated March 2020

Name

post_validate_data_spool_each_rcpt_v1

Synopsis

#include "hooks/core/post_validate_data_spool_each_rcpt_v1.h"

| void **post_validate_data_spool_each_rcpt_v1** ( | closure, |   | |   | m, |   | |   | ac, |   | |   | c); |   |

void * <var class="pdparam">closure</var>; ec_message * <var class="pdparam">m</var>; accept_construct * <var class="pdparam">ac</var>; validate_context * <var class="pdparam">c</var>;

| int **has_core_post_validate_data_spool_each_rcpt_v1_hook** ( | ); |   |

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

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

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

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

| void **call_core_post_validate_data_spool_each_rcpt_v1_hook** ( | m, |   | |   | ac, |   | |   | c); |   |

ec_message * <var class="pdparam">m</var>; accept_construct * <var class="pdparam">ac</var>; validate_context * <var class="pdparam">c</var>;

Description

This is a core hook invoked after all module validate_data_spool_each_rcpt callbacks as well as after the validate_data_spool_each_rcpt core hook. The only reason to use this hook point instead of a traditional module callback is that you can guarantee an invocation subsequent to all other modules' validate_data_spool_each_rcpt callbacks and also subsequent to the core validate_data_spool_each_rcpt. The mess and ctx parameters are the same used in the validate_data_spool_each_rcpt traditional module callback.

Was this page helpful?