#define UNCONST(_type, _ptr)
Remove const qualification from a pointer.
Structure containing both a talloc pool, a list of parsed call_env_pairs.
static unlang_module_t * unlang_generic_to_module(unlang_t const *p)
fr_event_timer_t const * ev
retry timer just for this module.
rlm_rcode_t rcode
the result, only for unlang_module_resume_final.
module_instance_t const * mi
Module instance to pass to callbacks.
module_method_t resume
resumption handler
static unlang_t * unlang_module_to_generic(unlang_module_t *p)
char const * previous_module
old request->module
fr_signal_t sigmask
Signals to block.
module_method_t retry_resume
which stops retries on resume
bool rcode_set
Overwrite the current rcode for the section with the module rcode.
call_env_result_t env_result
Result of the previous call environment expansion.
module_method_call_t mmc
Everything needed to call a module method.
fr_retry_t retry
retry timers, etc.
void * env_data
Expanded per call "call environment" tmpls.
rlm_rcode_t * p_result
Where to store the result.
module_thread_instance_t * thread
thread-local data for this module.
unlang_module_signal_t signal
for signal handlers
int unlang_indent
Record what this was when we entered the module.
void * timeout_rctx
rctx data to pass to timeout callback
void * rctx
for resume / signal
call_env_t const * call_env
The per call parsed call environment.
unlang_module_retry_t retry_cb
callback to run on timeout
A call to a module method.
The output of module_rlm_by_name_and_method.
rlm_rcode_t
Return codes indicating the result of the module call.
unlang_action_t(* module_method_t)(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
Module section callback.
Per thread per instance data.
#define talloc_get_type_abort_const
void(* unlang_module_retry_t)(module_ctx_t const *mctx, request_t *request, fr_retry_t const *retry)
A callback when a retry happens.
void(* unlang_module_signal_t)(module_ctx_t const *mctx, request_t *request, fr_signal_t action)
A callback when the request gets a fr_signal_t.
Private interpreter structures and functions.
@ UNLANG_TYPE_MODULE
Module method.
unlang_type_t type
The specialisation of this node.
A node in a graph of unlang_op_t (s) that we execute.