ISC DHCP 4.4.3-P1
A reference DHCPv4 and DHCPv6 implementation
 
Loading...
Searching...
No Matches
parse.c File Reference
#include "dhcpd.h"
#include <isc/util.h>
#include <syslog.h>

Go to the source code of this file.

Functions

void add_enumeration (struct enumeration *enumeration)
 
struct enumerationfind_enumeration (const char *name, int length)
 
struct enumeration_valuefind_enumeration_value (const char *name, int length, unsigned *widthp, const char *value)
 
void skip_to_semi (struct parse *cfile)
 
void skip_to_rbrace (struct parse *cfile, int brace_count)
 
int parse_semi (struct parse *cfile)
 
int parse_string (struct parse *cfile, char **sptr, unsigned *lptr)
 
char * parse_host_name (struct parse *cfile)
 
int parse_ip_addr_or_hostname (struct expression **expr, struct parse *cfile, int uniform)
 
int parse_ip_addr (struct parse *cfile, struct iaddr *addr)
 
int parse_destination_descriptor (struct parse *cfile, struct iaddr *addr)
 
int parse_ip6_addr (struct parse *cfile, struct iaddr *addr)
 
int parse_ip6_addr_expr (struct expression **expr, struct parse *cfile)
 
int parse_ip6_prefix (struct parse *cfile, struct iaddr *addr, u_int8_t *plen)
 
int parse_ip_addr_with_subnet (struct parse *cfile, struct iaddrmatch *match)
 
void parse_hardware_param (struct parse *cfile, struct hardware *hardware)
 
void parse_lease_time (struct parse *cfile, TIME *timep)
 
unsigned char * parse_numeric_aggregate (struct parse *cfile, unsigned char *buf, unsigned *max, int separator, int base, unsigned size)
 
void convert_num (struct parse *cfile, unsigned char *buf, const char *str, int base, unsigned size)
 
TIME parse_date_core (struct parse *cfile)
 
TIME parse_date (struct parse *cfile)
 
isc_result_t parse_option_name (struct parse *cfile, int allocate, int *known, struct option **opt)
 
void parse_option_space_decl (struct parse *cfile)
 
int parse_option_code_definition (struct parse *cfile, struct option *option)
 
int parse_base64 (struct data_string *data, struct parse *cfile)
 
int parse_cshl (struct data_string *data, struct parse *cfile)
 
int parse_executable_statements (struct executable_statement **statements, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_executable_statement (struct executable_statement **result, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_zone (struct dns_zone *zone, struct parse *cfile)
 
int parse_key (struct parse *cfile)
 
int parse_on_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_switch_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_case_statement (struct executable_statement **result, struct parse *cfile, int *lose, enum expression_context case_context)
 
int parse_if_statement (struct executable_statement **result, struct parse *cfile, int *lose)
 
int parse_boolean_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_boolean (struct parse *cfile)
 
int parse_data_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_numeric_expression (struct expression **expr, struct parse *cfile, int *lose)
 
int parse_non_binary (struct expression **expr, struct parse *cfile, int *lose, enum expression_context context)
 
int parse_expression (struct expression **expr, struct parse *cfile, int *lose, enum expression_context context, struct expression **plhs, enum expr_op binop)
 
int parse_option_data (struct expression **expr, struct parse *cfile, int lookups, struct option *option)
 
int parse_option_statement (struct executable_statement **result, struct parse *cfile, int lookups, struct option *option, enum statement_op op)
 
int parse_option_token (struct expression **rv, struct parse *cfile, const char **fmt, struct expression *expr, int uniform, int lookups)
 
int parse_option_decl (struct option_cache **oc, struct parse *cfile)
 
int parse_X (struct parse *cfile, u_int8_t *buf, unsigned max)
 
int parse_warn (struct parse *cfile, const char *fmt,...)
 
struct expressionparse_domain_list (struct parse *cfile, int compress)
 
struct expressionparse_domain_name (struct parse *cfile)
 

Variables

struct collection default_collection = { NULL, "default", NULL }
 
struct collectioncollections = &default_collection
 
struct enumerationenumerations
 

Function Documentation

◆ add_enumeration()

void add_enumeration ( struct enumeration * enumeration)

Definition at line 41 of file parse.c.

◆ convert_num()

void convert_num ( struct parse * cfile,
unsigned char * buf,
const char * str,
int base,
unsigned size )

Definition at line 840 of file parse.c.

◆ find_enumeration()

struct enumeration * find_enumeration ( const char * name,
int length )

Definition at line 47 of file parse.c.

◆ find_enumeration_value()

struct enumeration_value * find_enumeration_value ( const char * name,
int length,
unsigned * widthp,
const char * value )

Definition at line 58 of file parse.c.

◆ parse_base64()

int parse_base64 ( struct data_string * data,
struct parse * cfile )

Definition at line 1899 of file parse.c.

◆ parse_boolean()

int parse_boolean ( struct parse * cfile)

Definition at line 3498 of file parse.c.

◆ parse_boolean_expression()

int parse_boolean_expression ( struct expression ** expr,
struct parse * cfile,
int * lose )

Definition at line 3475 of file parse.c.

◆ parse_case_statement()

int parse_case_statement ( struct executable_statement ** result,
struct parse * cfile,
int * lose,
enum expression_context case_context )

Definition at line 3292 of file parse.c.

◆ parse_cshl()

int parse_cshl ( struct data_string * data,
struct parse * cfile )

Definition at line 2040 of file parse.c.

◆ parse_data_expression()

int parse_data_expression ( struct expression ** expr,
struct parse * cfile,
int * lose )

Definition at line 3542 of file parse.c.

◆ parse_date()

TIME parse_date ( struct parse * cfile)

Definition at line 1188 of file parse.c.

◆ parse_date_core()

TIME parse_date_core ( struct parse * cfile)

Definition at line 978 of file parse.c.

◆ parse_destination_descriptor()

int parse_destination_descriptor ( struct parse * cfile,
struct iaddr * addr )

Definition at line 354 of file parse.c.

◆ parse_domain_list()

struct expression * parse_domain_list ( struct parse * cfile,
int compress )

Definition at line 5704 of file parse.c.

◆ parse_domain_name()

struct expression * parse_domain_name ( struct parse * cfile)

Definition at line 5785 of file parse.c.

◆ parse_executable_statement()

int parse_executable_statement ( struct executable_statement ** result,
struct parse * cfile,
int * lose,
enum expression_context case_context )

Definition at line 2133 of file parse.c.

◆ parse_executable_statements()

int parse_executable_statements ( struct executable_statement ** statements,
struct parse * cfile,
int * lose,
enum expression_context case_context )

Definition at line 2117 of file parse.c.

◆ parse_expression()

int parse_expression ( struct expression ** expr,
struct parse * cfile,
int * lose,
enum expression_context context,
struct expression ** plhs,
enum expr_op binop )

Definition at line 4501 of file parse.c.

◆ parse_hardware_param()

void parse_hardware_param ( struct parse * cfile,
struct hardware * hardware )

Definition at line 615 of file parse.c.

◆ parse_host_name()

char * parse_host_name ( struct parse * cfile)

Definition at line 196 of file parse.c.

◆ parse_if_statement()

int parse_if_statement ( struct executable_statement ** result,
struct parse * cfile,
int * lose )

Definition at line 3339 of file parse.c.

◆ parse_ip6_addr()

int parse_ip6_addr ( struct parse * cfile,
struct iaddr * addr )

Definition at line 405 of file parse.c.

◆ parse_ip6_addr_expr()

int parse_ip6_addr_expr ( struct expression ** expr,
struct parse * cfile )

Definition at line 465 of file parse.c.

◆ parse_ip6_prefix()

int parse_ip6_prefix ( struct parse * cfile,
struct iaddr * addr,
u_int8_t * plen )

Definition at line 479 of file parse.c.

◆ parse_ip_addr()

int parse_ip_addr ( struct parse * cfile,
struct iaddr * addr )

Definition at line 336 of file parse.c.

◆ parse_ip_addr_or_hostname()

int parse_ip_addr_or_hostname ( struct expression ** expr,
struct parse * cfile,
int uniform )

Definition at line 268 of file parse.c.

◆ parse_ip_addr_with_subnet()

int parse_ip_addr_with_subnet ( struct parse * cfile,
struct iaddrmatch * match )

Definition at line 522 of file parse.c.

◆ parse_key()

int parse_key ( struct parse * cfile)

Definition at line 2996 of file parse.c.

◆ parse_lease_time()

void parse_lease_time ( struct parse * cfile,
TIME * timep )

Definition at line 690 of file parse.c.

◆ parse_non_binary()

int parse_non_binary ( struct expression ** expr,
struct parse * cfile,
int * lose,
enum expression_context context )

Definition at line 3592 of file parse.c.

◆ parse_numeric_aggregate()

unsigned char * parse_numeric_aggregate ( struct parse * cfile,
unsigned char * buf,
unsigned * max,
int separator,
int base,
unsigned size )

Definition at line 734 of file parse.c.

◆ parse_numeric_expression()

int parse_numeric_expression ( struct expression ** expr,
struct parse * cfile,
int * lose )

Definition at line 3569 of file parse.c.

◆ parse_on_statement()

int parse_on_statement ( struct executable_statement ** result,
struct parse * cfile,
int * lose )

Definition at line 3144 of file parse.c.

◆ parse_option_code_definition()

int parse_option_code_definition ( struct parse * cfile,
struct option * option )

Definition at line 1572 of file parse.c.

◆ parse_option_data()

int parse_option_data ( struct expression ** expr,
struct parse * cfile,
int lookups,
struct option * option )

Definition at line 4812 of file parse.c.

◆ parse_option_decl()

int parse_option_decl ( struct option_cache ** oc,
struct parse * cfile )

Definition at line 5290 of file parse.c.

◆ parse_option_name()

isc_result_t parse_option_name ( struct parse * cfile,
int allocate,
int * known,
struct option ** opt )

Definition at line 1208 of file parse.c.

◆ parse_option_space_decl()

void parse_option_space_decl ( struct parse * cfile)

Definition at line 1349 of file parse.c.

◆ parse_option_statement()

int parse_option_statement ( struct executable_statement ** result,
struct parse * cfile,
int lookups,
struct option * option,
enum statement_op op )

Definition at line 4919 of file parse.c.

◆ parse_option_token()

int parse_option_token ( struct expression ** rv,
struct parse * cfile,
const char ** fmt,
struct expression * expr,
int uniform,
int lookups )

Definition at line 4978 of file parse.c.

◆ parse_semi()

int parse_semi ( struct parse * cfile)

Definition at line 139 of file parse.c.

◆ parse_string()

int parse_string ( struct parse * cfile,
char ** sptr,
unsigned * lptr )

Definition at line 156 of file parse.c.

◆ parse_switch_statement()

int parse_switch_statement ( struct executable_statement ** result,
struct parse * cfile,
int * lose )

Definition at line 3224 of file parse.c.

◆ parse_warn()

int parse_warn ( struct parse * cfile,
const char * fmt,
... )

Definition at line 5643 of file parse.c.

◆ parse_X()

int parse_X ( struct parse * cfile,
u_int8_t * buf,
unsigned max )

Definition at line 5593 of file parse.c.

◆ parse_zone()

int parse_zone ( struct dns_zone * zone,
struct parse * cfile )

Definition at line 2816 of file parse.c.

◆ skip_to_rbrace()

void skip_to_rbrace ( struct parse * cfile,
int brace_count )

Definition at line 98 of file parse.c.

◆ skip_to_semi()

void skip_to_semi ( struct parse * cfile)

Definition at line 81 of file parse.c.

Variable Documentation

◆ collections

struct collection* collections = &default_collection

Definition at line 34 of file parse.c.

◆ default_collection

struct collection default_collection = { NULL, "default", NULL }

Definition at line 33 of file parse.c.

◆ enumerations

struct enumeration* enumerations

Definition at line 39 of file parse.c.