25 RCSID(
"$Id: 434fc14ffc6fc50064d63b9394de81246444547f $")
27 #include "unlang_priv.h"
unlang_action_t
Returned by unlang_op_t calls, determine the next action of the interpreter.
unlang_action_t unlang_interpret_skip_to_catch(rlm_rcode_t *p_result, request_t *request, unlang_stack_frame_t *frame)
Skip ahead to a particular "catch" instruction.
Declarations for the "catch" keyword.
unlang_action_t unlang_interpret_push_children(rlm_rcode_t *p_result, request_t *request, rlm_rcode_t default_rcode, bool do_next_sibling)
Push the children of the current frame onto a new frame onto the stack.
void unlang_register(int type, unlang_op_t *op)
Register an operation with the interpreter.
rlm_rcode_t
Return codes indicating the result of the module call.
static unlang_action_t unlang_try(rlm_rcode_t *p_result, request_t *request, unlang_stack_frame_t *frame)
void unlang_try_init(void)
#define UNLANG_NEXT_SIBLING
@ UNLANG_TYPE_TRY
try / catch blocks
static void frame_repeat(unlang_stack_frame_t *frame, unlang_process_t process)
Mark the current stack frame up for repeat, and set a new process function.
rlm_rcode_t result
The result from executing the instruction.
Our interpreter stack, as distinct from the C stack.