![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
#include <freeradius-devel/server/request.h>
Go to the source code of this file.
Data Structures | |
struct | unlang_child_request_t |
Each child has a state, a number, a request, and a count of their siblings. More... | |
struct | unlang_child_request_t.config |
struct | unlang_child_request_t.result |
Enumerations | |
enum | unlang_child_request_state_t { CHILD_INIT = 0 , CHILD_RUNNABLE , CHILD_EXITED , CHILD_DETACHED , CHILD_CANCELLED , CHILD_DONE , CHILD_FREED } |
Parallel child states. More... | |
Functions | |
int | unlang_child_request_init (TALLOC_CTX *ctx, unlang_child_request_t *out, request_t *child, rlm_rcode_t *p_result, unsigned int *sibling_count, void const *unique_session_ptr, bool free_child) |
Initialize a child request. | |
int | unlang_child_request_op_init (void) |
Variables | |
fr_table_num_ordered_t const | unlang_child_states_table [] |
size_t | unlang_child_states_table_len |
struct unlang_child_request_t |
Each child has a state, a number, a request, and a count of their siblings.
Definition at line 61 of file child_request_priv.h.
Data Fields | ||
---|---|---|
struct unlang_child_request_t.config | config | |
char const * | name | Cache the request name. |
int | num | The child number. |
request_t * | request | Child request. The actual request the child will run. |
struct unlang_child_request_t.result | result | |
unsigned int * | sibling_count |
Number of siblings. as a child completes, it decrements this number. once it reaches zero, the parent is signalled to resume. |
unlang_child_request_state_t | state | State of the child. |
struct unlang_child_request_t.config |
Definition at line 73 of file child_request_priv.h.
Data Fields | ||
---|---|---|
bool | free_child | |
void const * | session_unique_ptr |
Session unique ptr identifier. If not NULL, the child's session data will be stored in the parent, and be restored during a later request. |
struct unlang_child_request_t.result |
Definition at line 80 of file child_request_priv.h.
Data Fields | ||
---|---|---|
rlm_rcode_t * | p_result | If not NULL, write the rcode here too. |
int | priority | Priority of the highest frame on the stack of the child. |
rlm_rcode_t | rcode | Where to store the result of the child. |
Parallel child states.
Definition at line 35 of file child_request_priv.h.
int unlang_child_request_init | ( | TALLOC_CTX * | ctx, |
unlang_child_request_t * | out, | ||
request_t * | child, | ||
rlm_rcode_t * | p_result, | ||
unsigned int * | sibling_count, | ||
void const * | unique_session_ptr, | ||
bool | free_child | ||
) |
Initialize a child request.
This initializes the child request result and configuration structure, and pushes a resumption frame onto the child's stack.
[in] | ctx | Memory to use for any additional memory allocated to the unlang_child_request_t. |
[out] | out | Child request to initialize. |
[in] | child | The child request to initialize. |
[in] | p_result | Where to write out the rcode from the child. |
[in,out] | sibling_count | If non-null the bumber of siblings. This is incremented for each child created. |
[in] | unique_session_ptr | Unique session pointer for this child. If NULL session data won't be stored/restored for the child. |
[in] | free_child | Free the child when done? |
Definition at line 265 of file child_request.c.
int unlang_child_request_op_init | ( | void | ) |
Definition at line 287 of file child_request.c.
|
extern |
Definition at line 39 of file child_request.c.
|
extern |
Definition at line 47 of file child_request.c.