Condition parser API. More...
Go to the source code of this file.
Data Structures | |
struct | fr_cond_t |
union | fr_cond_t.data |
Macros | |
#define | FR_COND_ONE_PASS (0) |
#define | FR_COND_TWO_PASS (1) |
Typedefs | |
typedef struct fr_cond_t | fr_cond_t |
Enumerations | |
enum | fr_cond_op_t { COND_NONE = 0, COND_AND = '&', COND_OR = '|' } |
enum | fr_cond_pass2_t { PASS2_FIXUP_NONE = 0, PASS2_FIXUP_ATTR, PASS2_FIXUP_TYPE, PASS2_PAIRCOMPARE } |
enum | fr_cond_type_t { COND_TYPE_INVALID = 0, COND_TYPE_TRUE, COND_TYPE_FALSE, COND_TYPE_EXISTS, COND_TYPE_MAP, COND_TYPE_CHILD } |
Functions | |
size_t | fr_cond_snprint (char *buffer, size_t bufsize, fr_cond_t const *c) |
ssize_t | fr_condition_tokenize (TALLOC_CTX *ctx, CONF_ITEM *ci, char const *start, fr_cond_t **head, char const **error, int flag) |
Tokenize a conditional check. More... | |
bool | fr_condition_walk (fr_cond_t *head, bool(*callback)(void *, fr_cond_t *), void *ctx) |
Condition parser API.
Definition in file parser.h.
struct fr_cond_t |
Data Fields | ||
---|---|---|
fr_dict_attr_t const * | cast | |
CONF_ITEM const * | ci | |
union fr_cond_t | data | |
bool | negate | |
fr_cond_t * | next | |
fr_cond_op_t | next_op | |
fr_cond_pass2_t | pass2_fixup | |
fr_cond_type_t | type |
union fr_cond_t.data |
enum fr_cond_op_t |
enum fr_cond_pass2_t |
enum fr_cond_type_t |
size_t fr_cond_snprint | ( | char * | buffer, |
size_t | bufsize, | ||
fr_cond_t const * | c | ||
) |
ssize_t fr_condition_tokenize | ( | TALLOC_CTX * | ctx, |
CONF_ITEM * | ci, | ||
char const * | start, | ||
fr_cond_t ** | head, | ||
char const ** | error, | ||
int | flags | ||
) |
Tokenize a conditional check.
[in] | ctx | for talloc |
[in] | ci | for CONF_ITEM |
[in] | start | the start of the string to process. Should be "(..." |
[out] | head | the parsed condition structure |
[out] | error | the parse error (if any) |
[in] | flags | do one/two pass |
Definition at line 1711 of file parser.c.