35#include <freeradius-devel/server/rcode.h>
36#include <freeradius-devel/server/request.h>
37#include <freeradius-devel/server/signal.h>
74#define unlang_function_signal_set(_request, _signal, _sigmask) \
75 _unlang_function_signal_set(_request, _signal, _sigmask, STRINGIFY(_signal))
77 CC_HINT(warn_unused_result);
89#define unlang_function_repeat_set(_request, _repeat) \
90 _unlang_function_repeat_set(_request, _repeat, STRINGIFY(_repeat))
92 CC_HINT(warn_unused_result);
111#define unlang_function_push(_request, _func, _repeat, _signal, _sigmask, _top_frame, _uctx) \
112 _unlang_function_push(_request, \
113 _func, STRINGIFY(_func), \
114 _repeat, STRINGIFY(_repeat), \
115 _signal, _sigmask, STRINGIFY(_signal), \
121 bool top_frame,
void *uctx)
122 CC_HINT(warn_unused_result);
unlang_action_t
Returned by unlang_op_t calls, determine the next action of the interpreter.
void(* unlang_function_signal_t)(request_t *request, fr_signal_t action, void *uctx)
Function to call if the request was signalled.
int unlang_function_clear(request_t *request)
Clear pending repeat function calls, and remove the signal handler.
unlang_action_t(* unlang_function_t)(rlm_rcode_t *p_result, int *priority, request_t *request, void *uctx)
A generic function pushed by a module or xlat to functions deeper in the C call stack to create resum...
int _unlang_function_signal_set(request_t *request, unlang_function_signal_t signal, fr_signal_t sigmask, char const *name)
Set a new signal function for an existing function frame.
int _unlang_function_repeat_set(request_t *request, unlang_function_t repeat, char const *name)
Set a new repeat function for an existing function frame.
unlang_action_t _unlang_function_push(request_t *request, unlang_function_t func, char const *func_name, unlang_function_t repeat, char const *repeat_name, unlang_function_signal_t signal, fr_signal_t sigmask, char const *signal_name, bool top_frame, void *uctx)
Push a generic function onto the unlang stack.
rlm_rcode_t
Return codes indicating the result of the module call.
fr_signal_t
Signals that can be generated/processed by request signal handlers.