post_validate_data_spool_each_rcpt_v1
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.