The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Functions
module_priv.h File Reference

Declarations for the unlang module interface. More...

#include "unlang_priv.h"
+ Include dependency graph for module_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_frame_state_module_t
 A module stack entry. More...
 
struct  unlang_module_t
 A call to a module method. More...
 

Functions

static unlang_module_tunlang_generic_to_module (unlang_t const *p)
 
static unlang_tunlang_module_to_generic (unlang_module_t *p)
 

Detailed Description

Declarations for the unlang module interface.

Id
0b3e9532c1e274d03b3c2b3c4c85f10f0fcab96c

Definition in file module_priv.h.


Data Structure Documentation

◆ unlang_frame_state_module_t

struct unlang_frame_state_module_t

A module stack entry.

Represents a single module call on the unlang stack.

Definition at line 46 of file module_priv.h.

+ Collaboration diagram for unlang_frame_state_module_t:
Data Fields
void * env_data Expanded per call "call environment" tmpls.
call_env_result_t env_result Result of the previous call environment expansion.
fr_event_timer_t const * ev retry timer just for this module.
rlm_rcode_t * p_result Where to store the result.
char const * previous_module old request->module
rlm_rcode_t rcode the result, only for unlang_module_resume_final.
void * rctx for resume / signal
module_method_t resume resumption handler
fr_retry_t retry retry timers, etc.
bool set_rcode Overwrite the current rcode for the section with the module rcode.
fr_signal_t sigmask Signals to block.
unlang_module_signal_t signal for signal handlers
module_thread_instance_t * thread thread-local data for this module.

Caching is necessary in the frame state structure because the unlang_t tree is shared between all threads, so we can't cache thread-specific data in the unlang_t.

int unlang_indent Record what this was when we entered the module.

◆ unlang_module_t

struct unlang_module_t

A call to a module method.

Definition at line 35 of file module_priv.h.

+ Collaboration diagram for unlang_module_t:
Data Fields
call_env_t const * call_env The per call parsed call environment.
module_instance_t * instance Global instance of the module we're calling.
module_method_t method The entry point into the module.
unlang_t self Common fields in all unlang_t tree nodes.

Function Documentation

◆ unlang_generic_to_module()

static unlang_module_t* unlang_generic_to_module ( unlang_t const *  p)
inlinestatic

Definition at line 89 of file module_priv.h.

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

◆ unlang_module_to_generic()

static unlang_t* unlang_module_to_generic ( unlang_module_t p)
inlinestatic

Definition at line 95 of file module_priv.h.

+ Here is the caller graph for this function: