|  | The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
    | 
xlat ephemeral argument passing structures More...
#include <freeradius-devel/server/module_ctx.h> Include dependency graph for xlat_ctx.h:
 Include dependency graph for xlat_ctx.h:Go to the source code of this file.
| Data Structures | |
| struct | xlat_ctx_s | 
| An xlat calling ctx.  More... | |
| struct | xlat_inst_ctx_s | 
| An xlat instantiation ctx.  More... | |
| struct | xlat_thread_inst_ctx_s | 
| An xlat thread instantiation ctx.  More... | |
| Macros | |
| #define | XLAT_CTX(_inst, _thread, _ex, _mctx, _env_data, _rctx) | 
| Wrapper to create a xlat_ctx_t as a compound literal. | |
| #define | XLAT_INST_CTX(_inst, _ex, _mctx, _uctx) &(xlat_inst_ctx_t){ .inst = _inst, .ex = _ex, .mctx = _mctx, .uctx = _uctx } | 
| Wrapper to create a xlat_inst_ctx_t as a compound literal. | |
| #define | XLAT_THREAD_INST_CTX(_inst, _thread, _ex, _mctx, _el, _uctx) &(xlat_thread_inst_ctx_t){ .inst = _inst, .ex = _ex, .mctx = _mctx, .el = _el, .uctx = _uctx } | 
| Wrapper to create a xlat_thread_inst_ctx_t as a compound literal. | |
| Typedefs | |
| typedef struct xlat_ctx_s | xlat_ctx_t | 
| typedef struct xlat_exp_head_s | xlat_exp_head_t | 
| typedef struct xlat_exp_s | xlat_exp_t | 
| typedef struct xlat_inst_ctx_s | xlat_inst_ctx_t | 
| typedef struct xlat_thread_inst_ctx_s | xlat_thread_inst_ctx_t | 
xlat ephemeral argument passing structures
Definition in file xlat_ctx.h.
| struct xlat_ctx_s | 
An xlat calling ctx.
This provides optional arguments to xlat functions.
Definition at line 49 of file xlat_ctx.h.
 Collaboration diagram for xlat_ctx_s:
 Collaboration diagram for xlat_ctx_s:| Data Fields | ||
|---|---|---|
| void * | env_data | Expanded call env data. | 
| xlat_exp_t const * | ex | Tokenized expression. | 
| void const * | inst | xlat instance data. | 
| module_ctx_t const * | mctx | Synthesised module calling ctx. | 
| void * | rctx | Resume context. | 
| void * | thread | xlat threadinstance data. | 
| struct xlat_inst_ctx_s | 
An xlat instantiation ctx.
This provides optional arguments to xlat functions.
Definition at line 62 of file xlat_ctx.h.
 Collaboration diagram for xlat_inst_ctx_s:
 Collaboration diagram for xlat_inst_ctx_s:| Data Fields | ||
|---|---|---|
| xlat_exp_t * | ex | Tokenized expression to use in expansion. | 
| void * | inst | xlat instance data to populate. | 
| module_inst_ctx_t const * | mctx | Synthesised module calling ctx. | 
| void * | uctx | Passed to the registration function. | 
| struct xlat_thread_inst_ctx_s | 
An xlat thread instantiation ctx.
This provides optional arguments to xlat functions.
Definition at line 73 of file xlat_ctx.h.
 Collaboration diagram for xlat_thread_inst_ctx_s:
 Collaboration diagram for xlat_thread_inst_ctx_s:| Data Fields | ||
|---|---|---|
| fr_event_list_t * | el | To register any I/O handlers or timers against. | 
| xlat_exp_t const * | ex | Tokenized expression to use in expansion. | 
| void const * | inst | xlat instance data. | 
| module_ctx_t const * | mctx | Synthesised module calling ctx. | 
| void * | thread | xlat thread instance data to populate. | 
| void * | uctx | Passed to the registration function. | 
| #define XLAT_CTX | ( | _inst, | |
| _thread, | |||
| _ex, | |||
| _mctx, | |||
| _env_data, | |||
| _rctx | |||
| ) | 
Wrapper to create a xlat_ctx_t as a compound literal.
This is used so that the compiler will flag any uses of (xlat_ctx_t) which don't set the required fields. Additional arguments should be added to this macro whenever the xlat_ctx_t fields are altered.
| [in] | _inst | Instance data of the module being called. | 
| [in] | _thread | Instance data of the thread being called. | 
| [in] | _ex | xlat expression | 
| [in] | _mctx | Module ctx. | 
| [in] | _env_data | Expanded call env. | 
| [in] | _rctx | resume ctx data. | 
Definition at line 95 of file xlat_ctx.h.
| #define XLAT_INST_CTX | ( | _inst, | |
| _ex, | |||
| _mctx, | |||
| _uctx | |||
| ) | &(xlat_inst_ctx_t){ .inst = _inst, .ex = _ex, .mctx = _mctx, .uctx = _uctx } | 
Wrapper to create a xlat_inst_ctx_t as a compound literal.
This is used so that the compiler will flag any uses of (xlat_inst_ctx_t) which don't set the required fields. Additional arguments should be added to this macro whenever the xlat_inst_ctx_t fields are altered.
| [in] | _inst | Instance data of the module being called. | 
| [in] | _ex | xlat expression to be evaluated by the instantiation function. | 
| [in] | _mctx | The module_inst_ctx_t from the parent module (if any). | 
| [in] | _uctx | passed when the instantiation function was registered. | 
Definition at line 109 of file xlat_ctx.h.
| #define XLAT_THREAD_INST_CTX | ( | _inst, | |
| _thread, | |||
| _ex, | |||
| _mctx, | |||
| _el, | |||
| _uctx | |||
| ) | &(xlat_thread_inst_ctx_t){ .inst = _inst, .ex = _ex, .mctx = _mctx, .el = _el, .uctx = _uctx } | 
Wrapper to create a xlat_thread_inst_ctx_t as a compound literal.
This is used so that the compiler will flag any uses of (xlat_thread_inst_ctx_t) which don't set the required fields. Additional arguments should be added to this macro whenever the xlat_thread_inst_ctx_t fields are altered.
| [in] | _inst | Instance data of the module being called. | 
| [in] | _thread | Instance data of the thread being called. | 
| [in] | _ex | xlat expression | 
| [in] | _mctx | The module_inst_ctx_t from the parent module (if any). | 
| [in] | _el | To register any I/O handlers or timers against. | 
| [in] | _uctx | passed when the instantiation function was registered. | 
Definition at line 124 of file xlat_ctx.h.
| typedef struct xlat_ctx_s xlat_ctx_t | 
Definition at line 39 of file xlat_ctx.h.
| typedef struct xlat_exp_head_s xlat_exp_head_t | 
Definition at line 36 of file xlat_ctx.h.
| typedef struct xlat_exp_s xlat_exp_t | 
Definition at line 35 of file xlat_ctx.h.
| typedef struct xlat_inst_ctx_s xlat_inst_ctx_t | 
Definition at line 40 of file xlat_ctx.h.
| typedef struct xlat_thread_inst_ctx_s xlat_thread_inst_ctx_t | 
Definition at line 41 of file xlat_ctx.h.
 1.9.8
 1.9.8