![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/map.h>
#include <freeradius-devel/unlang/tmpl.h>
#include <freeradius-devel/unlang/map.h>
#include "map_priv.h"
Go to the source code of this file.
Data Structures | |
struct | unlang_frame_state_map_proc_t |
map and unlang integration. More... | |
Macros | |
#define | MAP_CTX(_mod_inst, _map_inst, _rctx) &(map_ctx_t){ .moi = _mod_inst, .mpi = _map_inst, .rctx = _rctx } |
Wrapper to create a map_ctx_t as a compound literal. | |
Functions | |
static int | compile_map_name (unlang_group_t *g) |
static int | fixup_map_cb (map_t *map, UNUSED void *ctx) |
Validate and fixup a map that's part of an map section. | |
static unlang_action_t | map_proc_apply (unlang_result_t *p_result, request_t *request, unlang_stack_frame_t *frame) |
static unlang_action_t | map_proc_resume (unlang_result_t *p_result, request_t *request, UNUSED unlang_stack_frame_t *frame) |
static unlang_t * | unlang_compile_map (unlang_t *parent, unlang_compile_ctx_t *unlang_ctx, CONF_ITEM const *ci) |
void | unlang_map_init (void) |
static unlang_action_t | unlang_map_state_init (unlang_result_t *p_result, request_t *request, unlang_stack_frame_t *frame) |
unlang_action_t | unlang_map_yield (request_t *request, map_proc_func_t resume, unlang_map_signal_t signal, fr_signal_t sigmask, void *rctx) |
Yield a request back to the interpreter from within a module. | |
struct unlang_frame_state_map_proc_t |
map and unlang integration.
Unlang "map" keyword evaluation.
Data Fields | ||
---|---|---|
void * | rctx | for resume / signal |
map_proc_func_t | resume | resumption handler |
fr_signal_t | sigmask | Signals to block. |
unlang_map_signal_t | signal | for signal handlers |
fr_value_box_list_t | src_result | Result of expanding the map source. |
|
static |
|
static |
|
static |
|
static |
void unlang_map_init | ( | void | ) |
|
static |
unlang_action_t unlang_map_yield | ( | request_t * | request, |
map_proc_func_t | resume, | ||
unlang_map_signal_t | signal, | ||
fr_signal_t | sigmask, | ||
void * | rctx | ||
) |
Yield a request back to the interpreter from within a module.
This passes control of the request back to the unlang interpreter, setting callbacks to execute when the request is 'signalled' asynchronously, or whatever timer or I/O event the module was waiting for occurs.
return unlang_module_yield(...)
.[in] | request | The current request. |
[in] | resume | Called on unlang_interpret_mark_runnable(). |
[in] | signal | Called on unlang_action(). |
[in] | sigmask | Set of signals to block. |
[in] | rctx | to pass to the callbacks. |
Definition at line 110 of file map.c.