45#define HTYPE_IEEE802 6
48#define DHO_DHCP_SERVER_IDENTIFIER 54
49#define DHO_VENDOR_CLASS_IDENTIFIER 60
50#define DHO_USER_CLASS 77
51#define DHO_VIVSO_SUBOPTIONS 125
54#define D6O_VENDOR_OPTS 17
55#define MAX_V6RELAY_HOPS 32
129#define SHARED_NET_DECL 4
136#define CLASS_TYPE_VENDOR 0
137#define CLASS_TYPE_USER 1
138#define CLASS_TYPE_CLASS 2
139#define CLASS_TYPE_SUBCLASS 3
141#define CLASS_DECL_DELETED 1
142#define CLASS_DECL_DYNAMIC 2
143#define CLASS_DECL_STATIC 4
144#define CLASS_DECL_SUBCLASS 8
147#define HARDWARE_ADDR_LEN 20
327#define skip_token(a,b,c) ((void) next_token((a),(b),(c)))
372 unsigned char *,
unsigned *,
enum dhcp_token next_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token peek_raw_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token peek_token(const char **rval, unsigned *rlen, struct parse *cfile)
enum dhcp_token next_token(const char **rval, unsigned *rlen, struct parse *cfile)
isc_result_t end_parse(struct parse **cfile)
isc_result_t new_parse(struct parse **cfile, int file, char *inbuf, unsigned buflen, const char *name, int eolp)
isc_result_t save_parse_state(struct parse *cfile)
isc_result_t restore_parse_state(struct parse *cfile)
#define TAILQ_HEAD(name, type)
isc_boolean_t use_isc_lifetimes
void parse_lbrace(struct parse *)
isc_boolean_t parse_config_statement(struct element *, struct parse *, struct option *, enum statement_op)
struct string * parse_numeric_aggregate(struct parse *, unsigned char *, unsigned *, int, int, unsigned)
isc_boolean_t numeric_expression(struct element *, struct parse *, isc_boolean_t *)
isc_boolean_t parse_key(struct element *, struct parse *)
struct option * option_lookup_code(const char *, unsigned)
struct string * parse_base64(struct parse *)
const char * print_expression(struct element *, isc_boolean_t *)
void parse_directive(struct parse *)
Parse (and execute) a directive (extension)
void parse_fixed_prefix6(struct parse *, size_t)
void parse_address_range(struct parse *, int, size_t)
void parse_pool_statement(struct parse *, int)
Parse a pool statement.
isc_boolean_t is_boolean_expression(struct element *)
void add_option_data(struct element *, struct element *)
struct string * parse_ip_addr(struct parse *)
struct element * reduce_boolean_expression(struct element *)
void read_conf_file(struct parse *, const char *, int)
struct option * option_lookup_name(const char *, const char *)
struct string * parse_option_textbin(struct parse *, struct option *)
int expr_precedence(enum expr_op, struct element *)
void parse_option_space_dir(struct parse *)
void parse_option_code_dir(struct parse *, struct option *)
isc_boolean_t parse_boolean_expression(struct element *, struct parse *, isc_boolean_t *)
isc_boolean_t parse_switch_statement(struct element *, struct parse *, isc_boolean_t *)
void parse_host_declaration(struct parse *)
void parse_option_local_dir(struct parse *, struct option *)
struct comments * get_config_comments(unsigned)
isc_boolean_t parse_case_statement(struct element *, struct parse *, isc_boolean_t *, enum expression_context)
void parse_vendor_code_definition(struct parse *, struct option *)
struct string * parse_domain_list(struct parse *, isc_boolean_t)
void push_option(struct option *)
void parse_class_declaration(struct parse *, int)
isc_boolean_t parse_executable_statement(struct element *, struct parse *, isc_boolean_t *, enum expression_context, isc_boolean_t)
isc_boolean_t parse_option_data(struct element *, struct parse *, struct option *)
size_t conf_file_parse(struct parse *)
struct element * json_map_parse(struct parse *)
struct string * escape_option_string(unsigned, const char *, isc_boolean_t *, isc_boolean_t *)
void parse_shared_net_declaration(struct parse *)
void parse_subnet_declaration(struct parse *)
void parse_address_range6(struct parse *, int, size_t)
struct element * reduce_data_expression(struct element *)
void parse_lease_time(struct parse *, time_t *)
struct option * kea_lookup_name(const char *, const char *)
const char * print_data_expression(struct element *, isc_boolean_t *)
struct string * parse_ip_addr_or_hostname(struct parse *, isc_boolean_t)
isc_boolean_t parse_data_expression(struct element *, struct parse *, isc_boolean_t *)
const char * print_numeric_expression(struct element *, isc_boolean_t *)
void parse_string(struct parse *, char **, unsigned *)
void parse_option_define_dir(struct parse *, struct option *)
struct element * parse_hardware_param(struct parse *)
isc_boolean_t parse_option_binary(struct element *, struct parse *, struct option *, isc_boolean_t)
void parse_server_duid_conf(struct parse *)
struct element * eval_data_expression(struct element *, isc_boolean_t *)
const char * print_boolean_expression(struct element *, isc_boolean_t *)
isc_boolean_t is_numeric_expression(struct element *)
void parse_subnet6_declaration(struct parse *)
struct element * parse_fixed_addr_param(struct parse *, enum dhcp_token)
isc_boolean_t parse_boolean(struct parse *)
isc_boolean_t parse_expression(struct element *, struct parse *, isc_boolean_t *, enum expression_context, struct element *, enum expr_op)
void convert_num(struct parse *, unsigned char *, const char *, int, unsigned)
struct string * parse_cshl(struct parse *)
isc_boolean_t parse_option_statement(struct element *, struct parse *, struct option *, enum statement_op)
struct element * json_list_parse(struct parse *)
struct string * parse_host_name(struct parse *)
void skip_to_semi(struct parse *)
isc_boolean_t parse_executable_statements(struct element *, struct parse *, isc_boolean_t *, enum expression_context)
void stackPush(struct parse *cfile, struct element *elem)
struct string * parse_ip6_addr_txt(struct parse *)
struct option * parse_option_name(struct parse *, isc_boolean_t, isc_boolean_t *)
struct element * eval_numeric_expression(struct element *, isc_boolean_t *)
isc_boolean_t parse_if_statement(struct element *, struct parse *, isc_boolean_t *)
isc_boolean_t parse_on_statement(struct element *, struct parse *, isc_boolean_t *)
void parse_pool6_statement(struct parse *, int)
Parse a pool6 statement.
void get_permit(struct parse *, struct element *)
Parse allow and deny statements.
size_t conf_file_subparse(struct parse *, int)
@ supersede_option_statement
@ default_option_statement
@ prepend_option_statement
@ append_option_statement
isc_boolean_t parse_non_binary(struct element *, struct parse *, isc_boolean_t *, enum expression_context)
void parse_group_declaration(struct parse *)
struct element * parse_allow_deny(struct parse *, int)
struct string * parse_option_token_binary(struct parse *, const char *)
isc_boolean_t is_data_expression(struct element *)
struct element * eval_boolean_expression(struct element *, isc_boolean_t *)
void skip_to_rbrace(struct parse *, int)
void parse_option_code_definition(struct parse *, struct option *)
struct string * parse_hexa(struct parse *)
struct element * eval_expression(struct element *, isc_boolean_t *)
struct string * convert_format(const char *, isc_boolean_t *, isc_boolean_t *)
struct string * parse_option_token(struct parse *, const char *, isc_boolean_t *, isc_boolean_t *, isc_boolean_t *)
void parse_semi(struct parse *)
void close_group(struct parse *, struct element *)
void parse_error(struct parse *, const char *,...) __attribute__((__format__(__printf__
isc_boolean_t parse_config_data(struct element *, struct parse *, struct option *)
struct space * space_lookup(const char *)
struct element * json_parse(struct parse *)
const char * display_status(enum option_status)
struct element * reduce_numeric_expression(struct element *)
isc_boolean_t parse_statement(struct parse *, int, isc_boolean_t)
void parse_option_status_dir(struct parse *, struct option *, enum dhcp_token)
void push_space(struct space *)
struct string * parse_ip6_addr(struct parse *)
void parse_prefix6(struct parse *, int, size_t)
void merge_option_data(struct element *, struct element *)
isc_boolean_t parse_zone(struct element *, struct parse *)
void parse_option_space_decl(struct parse *)
enum option_status status
enum option_status status
const struct space * space
enum option_status status
enum option_status status
@ context_data_or_numeric
@ expr_variable_reference