The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Loading...
Searching...
No Matches
Data Structures | Functions
subrequest_priv.h File Reference
#include <freeradius-devel/server/tmpl.h>
#include <freeradius-devel/util/dict.h>
#include "unlang_priv.h"
+ Include dependency graph for subrequest_priv.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  unlang_subrequest_t
 

Functions

static unlang_subrequest_tunlang_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_tunlang_subrequest_to_group (unlang_subrequest_t *subrequest)
 Cast a subrequest keyword extension to a group structure.
 

Detailed Description

Id
12944514c676c6c8eafa200eaa7abb0fb4b9fa3c

Definition in file subrequest_priv.h.


Data Structure Documentation

◆ unlang_subrequest_t

struct unlang_subrequest_t

Definition at line 33 of file subrequest_priv.h.

+ Collaboration diagram for unlang_subrequest_t:
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.

Function Documentation

◆ unlang_group_to_subrequest()

static unlang_subrequest_t * unlang_group_to_subrequest ( unlang_group_t g)
inlinestatic

Cast a group structure to the subrequest keyword extension.

Definition at line 51 of file subrequest_priv.h.

+ Here is the caller graph for this function:

◆ unlang_subrequest_child_run()

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.

Note
Called from the parent to start a child running.

Definition at line 351 of file subrequest.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ unlang_subrequest_detach_child()

int unlang_subrequest_detach_child ( request_t request)

◆ unlang_subrequest_to_group()

static unlang_group_t * unlang_subrequest_to_group ( unlang_subrequest_t subrequest)
inlinestatic

Cast a subrequest keyword extension to a group structure.

Definition at line 59 of file subrequest_priv.h.