![]() |
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: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:| 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:| 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:| 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