The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Unlang "foreach" keyword evaluation. More...
#include <freeradius-devel/server/request_data.h>
#include <freeradius-devel/unlang/xlat_func.h>
#include "foreach_priv.h"
#include "return_priv.h"
#include "xlat_priv.h"
Go to the source code of this file.
Data Structures | |
struct | unlang_frame_state_foreach_t |
State of a foreach loop. More... | |
Macros | |
#define | FOREACH_REQUEST_DATA (void *)unlang_foreach_xlat |
Functions | |
static int | _free_unlang_frame_state_foreach (unlang_frame_state_foreach_t *state) |
Ensure request data is pulled out of the request if the frame is popped. More... | |
static unlang_action_t | unlang_break (rlm_rcode_t *p_result, request_t *request, unlang_stack_frame_t *frame) |
static unlang_action_t | unlang_foreach (rlm_rcode_t *p_result, request_t *request, unlang_stack_frame_t *frame) |
void | unlang_foreach_init (TALLOC_CTX *ctx) |
static unlang_action_t | unlang_foreach_next (rlm_rcode_t *p_result, request_t *request, unlang_stack_frame_t *frame) |
static xlat_action_t | unlang_foreach_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
Implements the Foreach-Variable-X. More... | |
Variables | |
static int | xlat_foreach_inst [] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } |
static char const *const | xlat_foreach_names [] |
Unlang "foreach" keyword evaluation.
Definition in file foreach.c.
struct unlang_frame_state_foreach_t |
Data Fields | ||
---|---|---|
fr_dcursor_t | cursor | Used to track our place in the list we're iterating over. |
int | depth | Level of nesting of this foreach loop. |
int | indent | for catching indentation issues |
request_t * | request | The current request. |
fr_pair_list_t | vps | List containing the attribute(s) we're iterating over. |
#define FOREACH_REQUEST_DATA (void *)unlang_foreach_xlat |
|
static |
|
static |
|
static |
void unlang_foreach_init | ( | TALLOC_CTX * | ctx | ) |
|
static |
|
static |
|
static |