26 RCSIDH(cf_priv_h,
"$Id: 3746f12944f929e147bcb19aa352981c0894113e $")
35 #include <freeradius-devel/server/cf_parse.h>
36 #include <freeradius-devel/util/rb.h>
37 #include <freeradius-devel/util/dlist.h>
149 #define cf_item_foreach(_ci, _iter) \
150 for (CONF_ITEM *_iter = fr_dlist_head(&(_ci)->children); _iter; _iter = fr_dlist_next(&(_ci)->children, _iter))
159 #define cf_item_foreach_next(_ci, _iter, _prev) \
160 for (CONF_ITEM *_iter = fr_dlist_next(&(_ci)->children, _prev); _iter; _iter = fr_dlist_next(&(_ci)->children, _iter))
169 #define cf_item_foreach_prev(_ci, _iter, _prev) \
170 for (CONF_ITEM *_iter = fr_dlist_prev(&(_ci)->children, _prev); _iter; _iter = fr_dlist_prev(&(_ci)->children, _iter))
fr_rb_node_t ident2_node
Entry in the ident2 tree.
bool printed
Was this item printed already in debug mode?
CONF_ITEM item
Common set of fields.
CONF_ITEM * parent
Parent.
fr_token_t name2_quote
The type of quoting around name2.
bool from_dir
was read from a directory
char const * name2
Second name token. Given foo bar {} would be bar.
bool allow_locals
allow local variables
int argc
number of additional arguments
char const * attr
Attribute name.
char const * name
Additional qualification of type.
fr_rb_tree_t * ident2
Tree to store the second identifier (name2 || name).
fr_token_t rhs_quote
Value Quoting style T_(DOUBLE|SINGLE|BACK)_QUOTE_STRING or T_BARE_WORD.
char const * value
Attribute value.
char const * name1
First name token. Given foo bar {} would be foo.
void const * data
User data.
static bool cf_item_has_no_children(CONF_ITEM const *ci)
Check if the CONF_ITEM has no children.
@ CF_UNLANG_MODULES
this section is in "modules", allow unlang 2 down
@ CF_UNLANG_NONE
no unlang
@ CF_UNLANG_CAN_HAVE_UPDATE
can have "update"
@ CF_UNLANG_ALLOW
allow unlang in this section
@ CF_UNLANG_POLICY
this section is a policy, allow unlang 2 down
@ CF_UNLANG_ASSIGNMENT
only assignments inside of map / update
@ CF_UNLANG_EDIT
only edit commands
@ CF_UNLANG_DICTIONARY
only local variable definitions
@ CF_UNLANG_SERVER
this section is a virtual server, allow unlang 2 down
fr_dlist_head_t children
The head of the ordered list of children.
fr_token_t op
Operator e.g. =, :=.
CONF_ITEM item
Common set of fields.
bool pass2
do expansion in pass2.
char const * filename
The file the config item was parsed from.
fr_rb_tree_t * ident1
Tree to store the first identifier (name1 || type || attr).
bool is_talloced
If true we can do extra checks.
char const * filename
name of the file
fr_rb_node_t ident1_node
Entry in the ident1 tree.
fr_dlist_t entry
Entry in dlist.
bool referenced
Was this item referenced in the config?
enum conf_type CONF_ITEM_TYPE
char const ** argv
additional arguments
char const * type
C type of data being stored.
CONF_ITEM item
Common set of fields.
bool parsed
Was this item used during parsing?
fr_token_t lhs_quote
Name quoting style T_(DOUBLE|SINGLE|BACK)_QUOTE_STRING or T_BARE_WORD.
bool free
If true, free data with talloc if parent node is freed.
int lineno
The line number the config item began on.
CONF_ITEM_TYPE type
Whether the config item is a config_pair, conf_section or cf_data.
Internal data that is associated with a configuration section.
Common header for all CONF_* types.
Configuration AVP similar to a fr_pair_t.
A section grouping multiple CONF_PAIR.
static bool fr_dlist_empty(fr_dlist_head_t const *list_head)
Check whether a list has any items.
Head of a doubly linked list.
Entry in a doubly linked list.
The main red black tree structure.