![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
#include <freeradius-devel/server/tmpl.h>
#include <freeradius-devel/util/dict.h>
#include "unlang_priv.h"
Go to the source code of this file.
Data Structures | |
struct | unlang_subrequest_t |
Functions | |
static unlang_subrequest_t * | unlang_group_to_subrequest (unlang_group_t *g) |
Cast a group structure to the subrequest keyword extension. | |
unlang_action_t | unlang_subrequest_child_run (UNUSED rlm_rcode_t *p_result, UNUSED request_t *request, unlang_stack_frame_t *frame) |
Function called by the unlang interpreter, or manually to start the child running. | |
int | unlang_subrequest_detach_child (request_t *request) |
static unlang_group_t * | unlang_subrequest_to_group (unlang_subrequest_t *subrequest) |
Cast a subrequest keyword extension to a group structure. | |
Definition in file subrequest_priv.h.
struct unlang_subrequest_t |
Definition at line 33 of file subrequest_priv.h.
Data Fields | ||
---|---|---|
fr_dict_attr_t const * | attr_packet_type | Packet-type attribute in the subrequest protocol. |
fr_dict_t const * | dict | Dictionary of the subrequest protocol. |
tmpl_t * | dst | Where to copy pairs from the reply list in the subrequest to. |
unlang_group_t | group | |
tmpl_t * | src | Pairs to copy into the subrequest request list. |
fr_dict_enum_value_t const * | type_enum |
Static enumeration value for attr_packet_type. if the packet-type is static. |
tmpl_t * | vpt | Value to expand to find the value to place into the packet-type attribute. |
|
inlinestatic |
Cast a group structure to the subrequest keyword extension.
Definition at line 51 of file subrequest_priv.h.
unlang_action_t unlang_subrequest_child_run | ( | UNUSED rlm_rcode_t * | p_result, |
UNUSED request_t * | request, | ||
unlang_stack_frame_t * | frame | ||
) |
Function called by the unlang interpreter, or manually to start the child running.
The reason why we do this on the unlang stack is so that this frame is marked as resumable in the parent, not whatever frame was previously being processed by the interpreter when the parent was called.
i.e. after calling unlang_subrequest_child_push, the code in the parent can call UNLANG_ACTION_PUSHED_CHILD, which will result in this frame being executed, and this frame can yield.
Definition at line 351 of file subrequest.c.
int unlang_subrequest_detach_child | ( | request_t * | request | ) |
|
inlinestatic |
Cast a subrequest keyword extension to a group structure.
Definition at line 59 of file subrequest_priv.h.